ClientValidationFunctionで文字列をトリムする方法
-
19-08-2019 - |
質問
CustomValidator と入力した文字列の長さを確認する必要があります。しかし、以前は、不正行為者に少し対抗するために、文字列から先頭と末尾のスペースをすべて削除したいと思います。このシナリオでそれを行う最も簡単な方法は何ですか?
ありがとう!
解決
最も簡単な方法は、ページでValidatorTrim(value)javascript関数を呼び出すことです。この関数は、すべてのasp.netバリデーターがページに追加されたときに含まれるJavaScriptから取得されます。
しかし、私はそれが文書化された機能だとは思わないので、将来のバージョンのバリデータで利用できることに頼ることはできません。ですから、jQueryを徹底的に試すか、J Cooperが指摘しているように独自の関数を追加します。
他のヒント
鈍角であることを許してください。しかし、あなたは単にJavaScriptのtrim
関数を探していますか?その場合、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];
}
コードフラグメント。
したがって、トリム関数を最初から書き直すべきではありません。すでに持っていて使用できます。