예제 #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="validatorEnvironment"></param>
 /// <param name="validatorEnvironmentObject"></param>
 /// <param name="valueName"></param>
 /// <param name="htmlName"></param>
 /// <param name="nullOrEmptyable">是否允许为null或为空。输入null默认为不判断。首尾连续空格将被过滤(.Trim())</param>
 /// <returns></returns>
 public static ValidatorContainer <T> Validator <T>(this IValidatorEnvironment validatorEnvironment, T validatorEnvironmentObject, string valueName, string htmlName, bool?nullOrEmptyable = null)
 {
     if (validatorEnvironment.ModelState[htmlName] != null &&
         validatorEnvironment.ModelState[htmlName].Errors.Count > 0)
     {
         //移除原有的ModelState中的"The value '' is invalid."错误
         //TODO:可以使用Resource自行配置
         validatorEnvironment.ModelState[htmlName].Errors.Clear();
     }
     if (nullOrEmptyable != null && (validatorEnvironmentObject == null || string.IsNullOrEmpty(validatorEnvironmentObject.ToString().Trim())))
     {
         if (nullOrEmptyable == true) //可为空
         {
             return(null);            //为空,返回,但是不记录错误
         }
         else//不可为空
         {
             var container = new ValidatorContainer <T>(validatorEnvironment, validatorEnvironmentObject, valueName, htmlName);
             return(container.NotNullOrEmpty(true));
         }
     }
     else
     {
         return(new ValidatorContainer <T>(validatorEnvironment, validatorEnvironmentObject, valueName, htmlName));//不判断是否为空
     }
 }
예제 #2
0
        //public List<string> ErrorList
        //{
        //    get { return _errorList; }
        //    set
        //    {
        //        _errorList = value;
        //        this.IsValid = false;
        //    }
        //}

        public ValidatorContainer(IValidatorEnvironment validatorEnvironment, T validatorEnvironmentObject, string valueName, string htmlName)
        {
            ValidatorObject      = validatorEnvironmentObject;
            ValueName            = valueName;
            HtmlName             = htmlName;
            ModelState           = validatorEnvironment.ModelState;
            ValidatorEnvironment = validatorEnvironment;
            IsValid = true;
            //ErrorList = new List<string>();
        }
예제 #3
0
 public static ValidatorContainer <T> Validator <T>(this IValidatorEnvironment validatorEnvironment, T validatorEnvironmentObject, string valueName, string htmlName)
 {
     return(Validator <T>(validatorEnvironment, validatorEnvironmentObject, valueName, htmlName, null));
 }