Tôi đã đặt CustomValidator
vào biểu mẫu của mình. Tôi chưa đặt thuộc tính ControlToValidate
của mình. Trong trường hợp ServerValidate
của nó Tôi đã viết như sau:Phương thức CustomValidator ServerValidate không kích hoạt
protected void CustomValidator1_ServerValidate(object source,
ServerValidateEventArgs args)
{
args.IsValid = false;
}
tôi đặt một breakpoint để phương pháp này nhưng có vẻ như không bao giờ đến thời điểm đó. Nhưng nếu tôi làm điều này trên một hình thức khác nó hoạt động như một sự quyến rũ.
- Thuộc tính của cả hai nút và
CustomValidator
ValidationGroup
đều giống nhau - tôi đã cố gắng xóa thuộc tính này trong cả hai nút và
CustomValidator
, vẫn không hoạt động.
Có vẻ như có thứ gì đó toàn diện. Tôi chỉ cần đặt CustomValidator
vào biểu mẫu và không chạm vào bất kỳ thuộc tính nào của nó ngoài việc chỉ thiết lập phương thức sự kiện ServerValidate
của nó.
EDIT: Đây là phần aspx:
<asp:CustomValidator ID="CustomValidator2" runat="server"
ErrorMessage="This is a test"
onservervalidate="CustomValidator1_ServerValidate"
ValidationGroup="PA"></asp:CustomValidator>
<asp:Button ID="btnPensionersOK" runat="server" Text="OK" Width="75px"
onclick="Button1_Click" ValidationGroup="PA" />
Nhưng các trình xác thực khác hoạt động như thế nào? Tôi có một số RequiredFieldValidator trên cùng một hình thức nhưng họ làm việc bình thường. Và một lần nữa, tôi làm chính xác điều tương tự trên một hình thức khác, và không có vấn đề, nó xác nhận. Những điều là phương pháp ServerValidate không cháy. –
@MikeJM: Tôi không biết. Bạn có databinding trong page_load trên postbacks? Bạn đang gọi một nơi nào khác 'Page.Validate()'? Bạn có nhận được bất kỳ lỗi javascript nào không? Do các RequiredFieldValidators có ngăn chặn việc postback không? Có đăng lại không? –
Có, tôi đang databinding trong page_load nhưng không phải trên PostBack. Tôi không bao giờ gọi Page.validate() ở bất cứ nơi nào khác. Tôi không nhận được bất kỳ lỗi javascript nào. RequiredFieldValidators ngăn chặn đăng lại. Nó được đăng lại. –