вторник, 6 декабря 2011 г.

Валидация. Организация валиданости в формах Часть 1

Все примеры в моем блоге использует инструмент Visual Studio 2010. Так сказать от простого к сложному и наоборот. Некоторые посты я стараюсь делать как Cookbook from SharePoint 2010.
И буду очень рад комментариям и предложениям.
И так рассмотрим валидацию и как я ее организовал на newform.aspx
Небольшой исходник:

public class HRRegularExpressionValidator : CustomValidator
    {
        public string Expression { get; set; }

        public RegularExpressionValidator()
        {
            this.ServerValidate += new System.Web.UI.WebControls.ServerValidateEventHandler(HRRegularExpressionValidator_ServerValidate);
        }

        void RegularExpressionValidator_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args)
        {
            args.IsValid = Check();
        }

        private bool Check()
        {
            string value = this.Field.Value == null ? null : this.Field.Value.ToString();
            if (!string.IsNullOrEmpty(Expression) && !string.IsNullOrEmpty(value))
            {
                System.Text.RegularExpressions.Regex expr = new System.Text.RegularExpressions.Regex(Expression);
                if (!expr.IsMatch(value))
                {
                    return false;
                }
            }
            return true;
        }

    }

На вход передаем из UI:
<
<
</

Вывод: Реализацию можно делать разную, главное выбрать направление. Можно просто, а можно немного сложнее.
Field Name="Title" >Validator Type="RegularExpressionValidator" Expression="^[\W\s\dа-яА-Яa-zA-z]{1,14}$" ErrorMessage="Название превышает 14 символов"></Validator>Field>

Комментариев нет:

Отправить комментарий