作成する必要があるシナリオがいくつかあります。
1) ドロップダウンに特定の値がある場合は、特定のテキスト ボックスを必須フィールドにします。
2) 特定のテキストボックスにデータがある場合、別のテキストボックスを必須にする (住所フィールドが入力されている場合は、都市、州、および郵便番号が必要)
正しく見える CustomValidators のペアから呼び出すコードがあります。
<asp:CustomValidator ID="cvtxt_pat_id" runat="server"
OnServerValidate="txt_pat_idValidate" ControlToValidate="txt_pat_id"
ErrorMessage="Text must be 8 or more characters." Display="Dynamic"/>
protected void txt_pat_idValidate(object sender, ServerValidateEventArgs e)
{
if (ddl_addl_pat_info.SelectedValue.ToString() == "2")
{
e.IsValid = (e.Value.Length > 1);
}
else
{
e.IsValid = true;
}
}
<asp:CustomValidator ID="cvtxt_pat_id" runat="server"
OnServerValidate="addresspartsValidate" ControlToValidate="txt_city"
ErrorMessage="Complete address must be entered." Display="Dynamic"/>
protected void addresspartsValidate(object sender, ServerValidateEventArgs e)
{
if (txt_pat_address.Text.Length > 1)
{
e.IsValid = (e.Value.Length > 1);
}
else
{
e.IsValid = true;
}
}
しかし、私が理解しているように、テストしているテキストボックスが空の場合、ボックスは検証されないため、空白の場合は起動せず、必須フィールドを確認するのが難しくなります. それで...考え?
また、テストのクライアント バージョンとサーバー バージョンの両方を用意する必要があるかどうかについて、矛盾する話が寄せられています。おそらく、古いバージョンでは必要でしたが、現在はそうではありませんか?