kentico 6 我使用的自定義登記的WebPart,並希望我的表單驗證上驗證顯示像這個 - >Kentico系統表表單驗證
工作: 1.紅星旁邊的每個輸入無效 2.以最佳形式提供驗證摘要。
Kentico每feidl只允許一個驗證消息,所以我不知道如何解決這個問題。
謝謝:)
kentico 6 我使用的自定義登記的WebPart,並希望我的表單驗證上驗證顯示像這個 - >Kentico系統表表單驗證
工作: 1.紅星旁邊的每個輸入無效 2.以最佳形式提供驗證摘要。
Kentico每feidl只允許一個驗證消息,所以我不知道如何解決這個問題。
謝謝:)
您可以自定義表單驗證,或者你可以等待7.0版本)的7.0版默認支持這樣的行爲(用一個漂亮的錯誤摘要和鏈接/錨領域輸入不正確)。因此,如果可以使用Kentico 7.0RC或等待最終版本,我會推薦這種方法,因爲您在6.0中的自定義會過時。
如果你想在6.0實現這一點,請檢查驗證消息,這個例子在Kentico bizforms:
在實例是viewBiz我們正在使用的BizForm的代號。建議在做任何更改之前創建Web部件的克隆(documentation on changing code of standard web parts),並在這些克隆的代碼文件上進行更改。
protected void viewBiz_OnValidationFailed()
{
((CMS.ExtendedControls.LocalizedLabel)this.viewBiz.BasicForm.FieldErrorLabels["FirstName"]).Text="Field specific error message";
}
正如你所看到的,你需要從哈希表中獲取錯誤標籤作爲控件,並正確設置它的屬性(這裏是文本)。 要設置主要驗證消息,您可以簡單地使用下面的代碼:
this.viewBiz.ValidationErrorMessage =「Main error message」;
要訪問的字段值進行驗證,請檢查下面的代碼(場被稱爲「姓」的例子):
protected void viewBiz_OnAfterValidate()
{
this.viewBiz.ValidationErrorMessage = "Main error message";
string find = "FirstName";
Control cl = this.viewBiz.BasicForm.FindControl(find);
string toValidate = "";
if (cl != null)
{
TextBox tb = (TextBox)cl;
toValidate = tb.Text.ToString().Trim();
}
}
請注意,你必須註冊所有IHE提到的方法bizform定義:
如果中斷BizForm的處理,你可能需要手動保存數據:
viewBiz.BasicForm.SaveData(「redirect.to.this.url」);
PS。我們往往比計算器監控我們的論壇;)
問候, 鮑里斯Pocatko, Kentico