質問

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];
}

コードフラグメント。

したがって、トリム関数を最初から書き直すべきではありません。すでに持っていて使用できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top