フォームを検証するためにhttp://bassistance.de/jquery-plugins/jquery-plugin-validation/を使用しています。残念ながら、テキストのみの方法はありません。だから私は自分で書こうとしました:
$(document).ready(function(){
$("#staffedit").validate(
{
rules: {
editDisplayName: {
textonly: true,
required: true
}
}}
);
jQuery.validator.addMethod(
"textonly",
function(value, element)
{console.log('textonly called.');
console.log(/[-.\w\s]/.test(value));
return this.optional(element) || /[-.\w\s]/.test(value);
},
jQuery.format("Please only enter letters, spaces, periods, or hyphens.")
);
});
console.log関数は適切なタイミングでコンソールに出力するため、メソッドが呼び出されます。私が理解していないのは、入力フィールドに$または*を入力できる理由です。私はそこに何でも入れることができます、そしてそれはまだ有効であると評価されます。
http://regexpal.com/を使用して正規表現をテストしましたが、そこでは正常に機能します。
では、プラグインでテキスト、スペース、ピリオド、ハイフンのみを許可するにはどうすればよいですか?
ちなみに、à、É、ā、またはô...などのアクセント付きの文字も許可したいと思います。