Вы можете настроить проверку формы или дождаться версии 7.0;) Версия 7.0 поддерживает такое поведение по умолчанию (с красивой сводкой ошибок и ссылками / привязками к полям с неправильным вводом). Поэтому, если есть возможность использовать Kentico 7.0RC или дождаться финальной версии, я бы порекомендовал этот подход, поскольку ваши настройки в 6.0 будут устаревшими.
Если вы хотите добиться этого в 6.0, проверьте этот пример сообщений проверки в бизнес-формах Kentico:
В примерах viewBiz - это кодовое имя BizForm, с которым мы работаем. Перед внесением каких-либо изменений рекомендуется создать клон веб-части (документация при изменении кода стандартных веб-частей), и изменения вносятся в эти клонированные файлы кода.
protected void viewBiz_OnValidationFailed()
{
((CMS.ExtendedControls.LocalizedLabel)this.viewBiz.BasicForm.FieldErrorLabels["FirstName"]).Text="Field specific error message";
}
Как видите, вам нужно получить метку ошибки в качестве элемента управления из хеш-таблицы и правильно установить ее свойства (здесь текст). Чтобы установить основное сообщение проверки, вы можете просто использовать приведенный ниже код:
this.viewBiz.ValidationErrorMessage = "Основное сообщение об ошибке";
Чтобы получить доступ к значениям полей для проверки, пожалуйста, проверьте код ниже (в примере это поле называется «Имя»):
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();
}
}
Обратите внимание, что вы должны зарегистрировать все упомянутые методы в определении bizform:
If you interrupt the processing of the BizForm you might have to save the data manually:
viewBiz.BasicForm.SaveData ("redirect.to.this.url");
PS. Мы следим за нашими форумами чаще, чем за stackoverflow;)
С уважением, Борис Покатко, Кентико
person
Boris Pocatko
schedule
30.07.2012