[jQuery] Re: validation plugin: how to add custom messages for groups

2009-01-30 Thread Mihai Danila


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

2009-01-30 Thread Mihai Danila


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

2009-01-30 Thread Mihai Danila


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.