0

我正在使用一个名为 livevalidation ( http://livevalidation.com/ ) 的脚本,这是我对这个特定 ID 的编码:

var First_Name = new LiveValidation( 'First_Name');
First_Name.add(Validate.Presence ); --this means it must have a value
First_Name.add(Validate.Format, { pattern: /^[a-z]+$/i} ); --this means it must be letters only

如果它没有无效的值,那么现在就不会提交我希望重复的字符变得无效,就像说如果有人在名称中单击相同的字母次数,那么它将变得无效

Format: function(value, paramsObj){
  var value = String(value);
  var paramsObj = paramsObj || {};
  var message = paramsObj.failureMessage || "Not valid!";
  var pattern = paramsObj.pattern || /./;
  var negate = paramsObj.negate || false;
  if(!negate && !pattern.test(value)) Validate.fail(message); // normal
  if(negate && pattern.test(value)) Validate.fail(message); // negated
  return true;
},

您的编码有效,但是我如何以这种格式输入编码我希望它在无效时输出一条消息

4

1 回答 1

2

您可以使用自定义验证:

//Define function to check input values
var noRepeatativeChars = function(val) {
   val = val || ""; //Handle null and undefined.
   var chars = val.split(""),  //Convert string to char array
       len = chars.length - 1, i = 0;

   for(; i < len; i++) {
      if(chars[i] === chars[i+1]) { //If current char === next char.
         return false;
      }
   }
   return true;
};

//Add custom validator.
First_Name.add(Validate.Custom, {against: noRepeatativeChars, failureMessage: "Go read the manual!"});
于 2012-11-23T10:41:43.377 回答