Try using String.search(regexp)+1 instead of regexp.test(String). Are you getting legitimate values to fail, or invalid ones to pass?
On Jun 20, 7:48 pm, shapper <[EMAIL PROTECTED]> wrote: > Very strange ... it works both ways ... well, what I mean is that I > keep having the same problem in both cases. > > Any more ideas? > > Did anyone notice that the Validation Examples Forms that have Masking > don't work in Firefox 3? > > Thanks, > Miguel > > On Jun 20, 7:46 pm, "Brian J. Fink" <[EMAIL PROTECTED]> wrote: > > > @Miguel: It appears you have the RegExp value and the value switched. > > Maybe you meant: > > > $.validator.addMethod('sqldatetime', function (value) { > > return value.test(/^(([0-9]{4})-([0-1][0-9])-([0-3][0-9])\s([0-1] > > [0-9]|[2] > > [0-3]):([0-5][0-9]):([0-5][0-9])|)$/); > > > }, 'Verifique a data e hora. Use o formato yyyy-mm-dd hh:mm:ss'); > > > On Jun 20, 6:53 am, shapper <[EMAIL PROTECTED]> wrote: > > > > Hello, > > > > I am trying to validate and mask a text box that should contain a > > > DateTime in the following format: > > > > yyyy-mm-dd hh:mm:ss > > > > The validation is not working as expected. The problem is: > > > > In a presence of a valid data I deleted a small part of it (ss). The > > > mask is revealed for this part. > > > If after deleting a part of the date/time I change the focus to > > > another input or submit the form I get: > > > 1. A message saying the date/time is invalid (This is expected) > > > 2. The entire content of the input disappears. (This is not suppose > > > to happen!) > > > > Every time I insert a invalid date I get a message but the date/time > > > inserted is deleted. What is going on? > > > > I am testing the date/time in 2 ways: Required and through a method > > > that uses Regex: > > > > // Form validation > > > $("#Edit").validate({ > > > rules: { > > > UpdatedAt: { > > > required: true, > > > sqldatetime: true > > > } > > > }, > > > messages: { > > > UpdatedAt: { > > > required: "Insert Date/Time", > > > sqldatetime: "Check the date/time. Use the format yyyy-mm- > > > dd hh:mm:ss" > > > } > > > } > > > }); > > > > And the method sqldatetime is: > > > > $.validator.addMethod('sqldatetime', function (value) { > > > return /^(([0-9]{4})-([0-1][0-9])-([0-3][0-9])\s([0-1][0-9]|[2] > > > [0-3]):([0-5][0-9]):([0-5][0-9])|)$/.test(value); > > > > }, 'Verifique a data e hora. Use o formato yyyy-mm-dd hh:mm:ss'); > > > > The Regex validates only non empty values. If the value is empty it is > > > also valid. > > > I have made this so that my method does not conflict with Required and > > > allow to have the two options only by adding or not the required rule. > > > > I tried to find the problem but wasn't able to. > > > > Any idea what is going wrong? > > > > Thanks, > > > Miguel