[jQuery] Re: validation plugin: how to add custom messages for groups
I think you can put three validators on the fields, with jQuery.validator.addMethod. I don't know if you can add multiple validators for the same CSS class, so I'm putting extra CSS classes on the inputs: input id=firstName class=first-name-input name-input/ input id=lastName class=last-name input name-input/ jQuery.validator.addMethod('first-name-input', validateFirstNameInput, 'First name is missing.'); jQuery.validator.addMethod('last-name-input', validateLastNameInput, 'Last name is missing.'); jQuery.validator.addMethod('name-input', validateNameInputs, 'First and Last name are missing.'); var firstNameInput = document.getElementById('firstNameInput'); var lastNameInput = document.getElementById('lastNameInput'); function validateFirstNameInput(value, element) { return ! lastNameInput.value || value; } // 1 function validateLastNameInput(value, element) { return firstNameInput.value || value; }// 2 function validateNameInputs(value, element) { return firstNameInput.value lastNameInput.value; } // 3 Validator #1 will always run for the first name input, but will choose to never display a message as long as the last name input is empty. If the last name input is not empty, then this validator will actually check the given value (the value of the first name input) and validate accordingly. Validator #2 is in a similar situation. Validator #3 will display an error only if both are empty. Think of them as working together to only activate the errors when only a subset of the possible conditions get applied. I'm looking for a way to do this with a single validator myself. I have dynamic forms and more complex situations, so I can't employ this solution. If anyone knows how to do it, please don't hesitate to put it in. Mihai On Jan 5, 4:26 pm, claudes claudina.sar...@gmail.com wrote: i have a group that contains both first and last name. i'm wondering if it is possible to have custom messages for groups. i'm trying to achieve something to the following: a. if both first and last name are not filled in: First and Last name are Required b. if only first is filled in: last name is required c. if only last is filled in: first name is required is this possible? -- View this message in context:http://www.nabble.com/validation-plugin%3A-how-to-add-custom-messages... Sent from the jQuery General Discussion mailing list archive at Nabble.com.
[jQuery] Re: validation plugin: how to add custom messages for groups
There was a small typo in validateLastNameInput. Here's the corrected code. input id=firstName class=first-name-input name-input/ input id=lastName class=last-name input name-input/ jQuery.validator.addMethod('first-name-input', validateFirstNameInput, 'First name is missing.'); jQuery.validator.addMethod('last-name-input', validateLastNameInput, 'Last name is missing.'); jQuery.validator.addMethod('name-input', validateNameInputs, 'First and Last name are missing.'); var firstNameInput = document.getElementById('firstNameInput'); var lastNameInput = document.getElementById('lastNameInput'); function validateFirstNameInput(value, element) { return ! lastNameInput.value || value; } // 1 function validateLastNameInput(value, element) { return ! firstNameInput.value || value; }// 2 function validateNameInputs(value, element) { return firstNameInput.value lastNameInput.value; } // 3 On Jan 30, 11:18 am, Mihai Danila virid...@gmail.com wrote: I think you can put three validators on the fields, with jQuery.validator.addMethod. I don't know if you can add multiple validators for the same CSS class, so I'm putting extra CSS classes on the inputs: input id=firstName class=first-name-input name-input/ input id=lastName class=last-name input name-input/ jQuery.validator.addMethod('first-name-input', validateFirstNameInput, 'First name is missing.'); jQuery.validator.addMethod('last-name-input', validateLastNameInput, 'Last name is missing.'); jQuery.validator.addMethod('name-input', validateNameInputs, 'First and Last name are missing.'); var firstNameInput = document.getElementById('firstNameInput'); var lastNameInput = document.getElementById('lastNameInput'); function validateFirstNameInput(value, element) { return ! lastNameInput.value || value; } // 1 function validateLastNameInput(value, element) { return firstNameInput.value || value; } // 2 function validateNameInputs(value, element) { return firstNameInput.value lastNameInput.value; } // 3 Validator #1 will always run for the first name input, but will choose to never display a message as long as the last name input is empty. If the last name input is not empty, then this validator will actually check the given value (the value of the first name input) and validate accordingly. Validator #2 is in a similar situation. Validator #3 will display an error only if both are empty. Think of them as working together to only activate the errors when only a subset of the possible conditions get applied. I'm looking for a way to do this with a single validator myself. I have dynamic forms and more complex situations, so I can't employ this solution. If anyone knows how to do it, please don't hesitate to put it in. Mihai On Jan 5, 4:26 pm, claudes claudina.sar...@gmail.com wrote: i have a group that contains both first and last name. i'm wondering if it is possible to have custom messages for groups. i'm trying to achieve something to the following: a. if both first and last name are not filled in: First and Last name are Required b. if only first is filled in: last name is required c. if only last is filled in: first name is required is this possible? -- View this message in context:http://www.nabble.com/validation-plugin%3A-how-to-add-custom-messages... Sent from the jQuery General Discussion mailing list archive at Nabble.com.
[jQuery] Re: validation plugin: how to add custom messages for groups
Sorry, the third validator must only get activated if both are empty (in other words, it must return true if either is not empty): function validateNameInputs(value, element) { return firstNameInput.value || lastNameInput.value; } On Jan 30, 11:19 am, Mihai Danila virid...@gmail.com wrote: There was a small typo in validateLastNameInput. Here's the corrected code. input id=firstName class=first-name-input name-input/ input id=lastName class=last-name input name-input/ jQuery.validator.addMethod('first-name-input', validateFirstNameInput, 'First name is missing.'); jQuery.validator.addMethod('last-name-input', validateLastNameInput, 'Last name is missing.'); jQuery.validator.addMethod('name-input', validateNameInputs, 'First and Last name are missing.'); var firstNameInput = document.getElementById('firstNameInput'); var lastNameInput = document.getElementById('lastNameInput'); function validateFirstNameInput(value, element) { return ! lastNameInput.value || value; } // 1 function validateLastNameInput(value, element) { return ! firstNameInput.value || value; } // 2 function validateNameInputs(value, element) { return firstNameInput.value lastNameInput.value; } // 3 On Jan 30, 11:18 am, Mihai Danila virid...@gmail.com wrote: I think you can put three validators on the fields, with jQuery.validator.addMethod. I don't know if you can add multiple validators for the same CSS class, so I'm putting extra CSS classes on the inputs: input id=firstName class=first-name-input name-input/ input id=lastName class=last-name input name-input/ jQuery.validator.addMethod('first-name-input', validateFirstNameInput, 'First name is missing.'); jQuery.validator.addMethod('last-name-input', validateLastNameInput, 'Last name is missing.'); jQuery.validator.addMethod('name-input', validateNameInputs, 'First and Last name are missing.'); var firstNameInput = document.getElementById('firstNameInput'); var lastNameInput = document.getElementById('lastNameInput'); function validateFirstNameInput(value, element) { return ! lastNameInput.value || value; } // 1 function validateLastNameInput(value, element) { return firstNameInput.value || value; } // 2 function validateNameInputs(value, element) { return firstNameInput.value lastNameInput.value; } // 3 Validator #1 will always run for the first name input, but will choose to never display a message as long as the last name input is empty. If the last name input is not empty, then this validator will actually check the given value (the value of the first name input) and validate accordingly. Validator #2 is in a similar situation. Validator #3 will display an error only if both are empty. Think of them as working together to only activate the errors when only a subset of the possible conditions get applied. I'm looking for a way to do this with a single validator myself. I have dynamic forms and more complex situations, so I can't employ this solution. If anyone knows how to do it, please don't hesitate to put it in. Mihai On Jan 5, 4:26 pm, claudes claudina.sar...@gmail.com wrote: i have a group that contains both first and last name. i'm wondering if it is possible to have custom messages for groups. i'm trying to achieve something to the following: a. if both first and last name are not filled in: First and Last name are Required b. if only first is filled in: last name is required c. if only last is filled in: first name is required is this possible? -- View this message in context:http://www.nabble.com/validation-plugin%3A-how-to-add-custom-messages... Sent from the jQuery General Discussion mailing list archive at Nabble.com.