CustomValidatorのクライアント側検証関数を作成しており、入力された文字列の長さを確認する必要があります。しかしその前に、詐欺師に少し対抗するために、文字列から先頭と末尾のスペースをすべて削除したいと思います。このシナリオでそれを行う最も簡単な方法は何ですか?
ありがとうございました!
CustomValidatorのクライアント側検証関数を作成しており、入力された文字列の長さを確認する必要があります。しかしその前に、詐欺師に少し対抗するために、文字列から先頭と末尾のスペースをすべて削除したいと思います。このシナリオでそれを行う最も簡単な方法は何ですか?
ありがとうございました!
最も簡単な方法は、ページで ValidatorTrim(value) JavaScript 関数を呼び出すことです。この関数は、ページに追加されたときにすべての asp.net バリデーターに含まれる JavaScript から取得されます。
しかし、私はそれが文書化された機能だとは思わないので、バリデーターの将来のバージョンで利用可能になることに頼ることはできません. したがって、J Cooper が指摘するように、jQuery を使用するか、独自の関数を追加します。
trim
鈍感で申し訳ありませんが、Javascript で関数を探しているだけですか? その場合、jQuery は次のように使用します。
function trim( text ) {
return (text || "").replace( /^\s+|\s+$/g, "" );
}
私が尋ねた質問は簡単にググることができると言わざるを得ず、私はすでにそれを調査しました。しかし、ASP.NET ページのクライアント検証関数を作成する場合に最も簡単なソリューションを StackOverflow コミュニティに提供したいと考えています。
RequiredFieldValidator が、チェック対象の文字列のスペースを削除することも知られています。アプリケーションに関連付けられている ScriptResource.axd ファイルのソースを調べると、これを見つけることができます。
function RequiredFieldValidatorEvaluateIsValid(val) {
return (ValidatorTrim(ValidatorGetValue(val.controltovalidate)) !=
ValidatorTrim(val.initialvalue))
}
そしてもっと面白いこれ
function ValidatorTrim(s) {
var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
return (m == null) ? "" : m[1];
}
コードの断片。
したがって、トリム関数を最初から書き直す必要はありません。すでに持っているので使用できます。