私はビューエンジンとしてrazorを使用してMVC 3を使用しています。控えめなクライアント検証が有効です。MVC 3で検証をトグルします。Razor
私は、電話または電子メールのいずれかの優先連絡方法を選択するラジオボタングループがあるフォームを作成しようとしています。選択したオプションに応じて、適切なテキストボックスを表示したいが、適切なテキストボックスに必要なバリデータを有効/無効にする。
私のマークアップは、現時点では次のようになります(ただ、それほど明白な誤りを指摘してくださいMVCで出始め):
は<div id="prefferedContact">
<p>Preferred Contact Method *</p>
<input type="radio" id="contactMethodEmail" name="PreferredContactMethod" value="email" @if (Model.PreferredContactMethod != "phone"){<text>checked="checked"</text>} /> <label for="contactMethodEmail">by email</label>
<input type="radio" id="contactMethodPhone" name="PreferredContactMethod" value="phone" @if (Model.PreferredContactMethod == "phone"){<text>checked="checked"</text>} /> <label for="contactMethodPhone">by phone</label>
</div>
<div id="contactMethodDetails" class="formItem">
<div id="emailAddressBox">
@Html.LabelFor(x => x.Email, "Email address")
@Html.TextBoxFor(x => x.Email, new { @class = "textbox" })
</div>
<div id="phoneNumberBox">
@Html.LabelFor(x => x.PhoneNumber, "Phone number")
@Html.TextBoxFor(x => x.PhoneNumber, new { @class = "textbox" })
</div>
</div>
</div>
</div>
切り替えるには、ラジオボタンにonclickイベントを追加し、いくつかのjqueryの機能があります選択した値に応じて2つのボックスの間に
これらの特定のフィールドのモデルは、現時点では必要な検証は行われていませんが、拘束力があります。
(a)の上と
オフ検証を切り替えることも可能である(b)はありません。この影響にModelState:私は本当にただのアイデアを得るために必要と予想
としても、検証は他の分野に取り組んでいますとにかく妥当性検査(または私はそれをカスタマイズする必要があります)
私は連絡先データのための1つのテキストボックスを持っていると思っていましたが、私は電子メールと電話番号の正規表現検証を別々にしたかったのです。もし私が単一のテキストボックスを持っていたら、選択されたオプションに応じて、テキストボックスの入力規則を切り替えることができますか?
十分な情報があれば十分だと思いますが。
おかげ
ジョエル