我正在尋找關於如何使用asp:ChangePassword控件的自定義驗證控件的想法。在asp:CustomValidator控件上設置「ControlToValidate」屬性的簡單嘗試結果如下:你可以用asp:ChangePassword控件使用asp:customvalidator嗎?
無法驗證由'passwordValidation'的ControlToValidate屬性引用的控件'changePassword1'。
謝謝。
我正在尋找關於如何使用asp:ChangePassword控件的自定義驗證控件的想法。在asp:CustomValidator控件上設置「ControlToValidate」屬性的簡單嘗試結果如下:你可以用asp:ChangePassword控件使用asp:customvalidator嗎?
無法驗證由'passwordValidation'的ControlToValidate屬性引用的控件'changePassword1'。
謝謝。
如果您使用javascript直接獲取控件,則可以使用CustomValidator驗證任何內容。無法設置ControlToValidate意味着您無法獲取EventArgs中的數據,而必須自行獲取它。
您需要將ChangePassword控件更改爲模板控件才能使用自定義驗證程序。確保將自定義驗證程序的驗證組設置爲與模板中的其他控件相同。或者,ChangePassword控件具有可以滿足您的需求的NewPasswordRegularExpression屬性。
是的,就使用模板:
http://quickstarts.asp.net/quickstartv20/aspnet/doc/ctrlref/login/changepassword.aspx
只要文本框-ID爲 「用戶名」(或任何你想驗證),你可以添加任何類型的驗證程序添加到模板。
導致此錯誤消息的根本問題是ChangePassword控件沒有在類級別設置的「ValidationProperty」屬性。如前所述,您可以省略CustomValidator中的ControlToValidate屬性。這可能是ChangePassword控件的最佳計劃。
如果你要使用的CustomValidator一個自定義的控制,設置ValidationProperty上定製控件類:
[DefaultProperty("StateName"), ValidationProperty("StateName")]
public class StateBox: CompositeControl
{
...
如果你想使用的CustomValidator與不具有ValidationProperty屬性庫控制設置,從庫控件派生一個類,並在派生類上設置ValidationProperty。