0
カレンダーで値が設定されたテキストボックスにカスタムバリデーターを適用しました。私はそれが過去の日付かどうかをチェックするサーバー側の検証を与えました。バリデーターは、送信ボタンをクリックすると起動されます。 args.IsValidの値はfalseに設定されていますが、コードはエラーメッセージを表示する代わりに、送信ボタンのclickイベントに入ります。 助けてください。カスタムバリデーターが機能しない
aspx.cs file
protected void CustomValidatorIssueDate_ServerValidate(object source, ServerValidateEventArgs args)
{
string nowString = DateTime.Now.ToString("MM/dd/yyyy");
DateTime now = Convert.ToDateTime(nowString);
DateTime issueDate = Convert.ToDateTime(args.Value);
if (issueDate.CompareTo(now) > 0)
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
aspx file
<asp:TextBox ID="TextBoxIssueDate" runat="server" Width="214px"></asp:TextBox>
<asp:CustomValidator runat="server" ControlToValidate="TextBoxIssueDate"
ErrorMessage="Issue Date cannot be past date"
onservervalidate="CustomValidatorIssueDate_ServerValidate"
ID="CustomValidatorIssueDate" Display="Dynamic" SetFocusOnError="True" ></asp:CustomValidator>
あなたが参照しているコードを提供することは可能ですか? – stephenbayer
あなたはargs.YsValidをチェックしていて、何かしていないのですか? IsValid == falseの場合、メソッドをバイパスすることを期待していますか? –
あなたが話しているコードを投稿してください。バリデータコントロールのaspxとテキストボックスが便利です –