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 に答える