2013-12-05 2 views
0

Я хочу запретить использование | символ для всех строк, представленных на мой сайт, но я не хочу применять атрибут validator для каждого свойства строки, потому что он неуправляем.Подтвердить все строки

Я могу проверить все строки в привязке к модели (в настоящее время я использую один, чтобы обрезать все строки), но я не думаю, что это будет интегрироваться со стандартной системой проверки. т. е. создание проверки на стороне клиента.

Любые идеи, как это сделать?

ответ

0

я не получить эту работу на клиенте, однако я могу ловушку все хитроумные строки в пользовательской модели связующей и сделать форму недопустимой следующим ...

public class CustomStringModelBinder : IModelBinder 
{ 
    public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) 
    { 
     ValueProviderResult valueResult = bindingContext.ValueProvider.GetValue(bindingContext.ModelName); 

     if (valueResult == null || string.IsNullOrEmpty(valueResult.AttemptedValue)) 
     { 
      return null; 
     } 

     if (valueResult.AttemptedValue.Contains("|")) 
     { 
      bindingContext.ModelState.AddModelError(bindingContext.ModelName, "The | character is prohibited."); 
     } 

     return valueResult.AttemptedValue.Trim(); 
    } 
} 
Смежные вопросы