0

文字列値を受け入れ、色の 16 進値を格納するモデルのプロパティがあります

例: EEEEEE、000000

ユーザーがカラーピッカーを使用できるように、jquery プラグインを統合しました。とても使いやすいので気に入っています。問題は、色を選択するとテキスト ボックスが「#」文字で塗りつぶされ、テキスト ボックスの色を簡単に変更できるようになることです (ユーザー フレンドリーな目的で、プラグインの一部です)。

今、私はポストに値を保存したいのですが、問題はモデルの検証が次の文字「0-9A-F」のみを受け入れることです. 私も維持したいものです(データベースに特殊文字はありません)。

そのため、ボタンのクリック時にテキストボックスを変更する検証を回避することを考えました。私の質問は次のとおりです。

1. それは最も効率的な方法ですか?

2.もしそうなら、jqueryを使ってどうすればいいですか? または、他の何か?

あなたの考えを聞かせてください。

ありがとう!!!

4

1 に答える 1

2

モデルで次のように正規表現バリデーターを使用します。

[RegularExpression(@"#([0-9][A-F])*", ErrorMessage = "Invalid Color Code")]

これには検証に「#」が含まれるため、検証に合格し、必要に応じてサーバー側で「#」を処理できます。

モデルの検証を変更できない場合は、フォームが送信される前にJavaScriptで何かを実行して、送信された値から「#」を削除することができます。

于 2013-02-11T21:10:10.393 に答える