I am not familiar with the syntax of Jquery plugin.
On Oct 12, 2:19 pm, Don Dunbar <salemd1s...@gmail.com> wrote: > Hi , I double checked on javascript's XOR operator and it only works with > bitwise: so you will have to write your own XOR . This isn't hard : [code] > if (!foo != !bar) [\code] should work for all elements. > or this > [code]if( ( foo && !bar ) || ( !foo && bar ) )[\code] > > For the validator method I haven't actually tried to run this but you can > try this:[code] > $.validator.addMethod( > > "onlyCheckOne", > function(value, elements) { > // but put whatever you're using to see if either is checked > in the next line > return this.optional(value) || elements[o]:checked XOR > elements[1]:checked; > }, > "Please check either participations or days, but not both" > )[/code] note change XOR to whatever method you decide to use. > > Then add the check to your rules. > DED > > On Mon, Oct 12, 2009 at 12:36 AM, Phper <hi.steven...@gmail.com> wrote: > > > <script type="text/javascript" src="http://code.jquery.com/jquery- > > latest.js"></script> > > <script type="text/javascript" src="http://dev.jquery.com/view/trunk/ > > plugins/validate/jquery.validate.js"></script> > > > <script type="text/javascript"> > > <!-- > > $(document).ready(function() { > > $("#form1").validate({ > > rules: { > > title: { > > required: true, > > minlength:40 > > } , > > content: { > > required: true, > > minlength:100, > > maxlength:600 > > }, > > evaluation: { > > required: true, > > minlength:50, > > maxlength:300 > > }, > > price: { > > required: true, > > digits:true > > > }, > > multi:{ > > required:true > > } > > }, > > messages: { > > > } > > }); > > }); > > > --> > > </script> > > > As you can see from the code above, "title", "content", "evaluation", > > "prices" and "multi" are required. All of them are required. But there > > are additional two fields, which are "participations" and "days". Only > > one of them is required. Either "participations" or "days" is > > required. How to write this code? > > > On Oct 12, 10:17 am, Phper <hi.steven...@gmail.com> wrote: > > > A good clue. But I still don't know where to write the "if" statement. > > > It would be good if you can give me an example. > > > > On Oct 11, 10:57 pm, Don Dunbar <salemd1s...@gmail.com> wrote: > > > > > Hi, if you are using the validation plugin, I believe it has a function > > > > "addMethod" that allows you to write your own method for the > > validation. It > > > > requires a name (javascript identifier), a method to check input > > against ( > > > > in your case A and B would be checked for completion) and a message to > > > > display when there is an error (i.e. neither A nor B is filled out, or > > both > > > > are). You can get the details for using the "addMethod" function at the > > > > jQuery Docs page.http://docs.jquery.com/Plugins/Validation > > > > The page lists demos and the function you need is toward the bottom of > > the > > > > page. > > > > > The logic is fairly straight forward : when the form is being filled > > out > > > > listen for when A and B have focus, remember if either is checked or > > ignored > > > > and check to make sure both are not simultaneously filled out. Check > > this on > > > > submit as well. > > > > > Good luck, > > > > DED > > > > > On Sun, Oct 11, 2009 at 7:42 AM, Phper <hi.steven...@gmail.com> wrote: > > > > > > How can I write the code in the context of Jquery validate function? > > > > > > On Oct 11, 12:43 pm, Don Dunbar <salemd1s...@gmail.com> wrote: > > > > > > Hi, javascript has an 'xor' operator. It works just like 'or' in an > > 'if' > > > > > > statement except in 'xor' only one side can be true. In a normal > > 'or' > > > > > > statement either side can be true or both can. So you probably want > > to do > > > > > > something like: if ( A XOR B) { } . Then only one can be true to > > > > > continue > > > > > > if both are true the statement returns 'false'.Hope this helps. > > > > > > DED > > > > > > > On Sat, Oct 10, 2009 at 10:37 PM, Phper <hi.steven...@gmail.com> > > wrote: > > > > > > > > There are two input fields in a form, but only one of them is > > > > > > > required, they are not required at the same time. Either A or B > > is > > > > > > > required. ( A is required OR B is required). In other words, a > > user > > > > > > > can input data to field A, or he can input data to filed B, but > > he can > > > > > > > not input data to Both A and B at the same time. > > > > > > > > How to implement this constraint in Jquery form validation?