Fluentvalidation изменить сообщение об ошибке по умолчанию для int / long - PullRequest
2 голосов
/ 06 марта 2012

Есть ли способ изменить сообщение об ошибке по умолчанию для входа в FluentValidation?

Мы можем настроить проверки для более сложных типов, но простое «введенные вами данные не являются целыми»вещи стиля, к которым мы, кажется, не можем добраться.

Встроенная ошибка для них: «значение x недопустимо для y» или что-то в этом духе - есть ли способ переопределить их?

Ответы [ 2 ]

2 голосов
/ 06 марта 2012

Нет простого / чистого способа добиться этого.Первая возможность - переопределить свойство DefaultModelBinder.ResourceClassKey в вашем приложении и указать его для пользовательского файла ресурсов:

protected void Application_Start()
{
    RegisterRoutes(RouteTable.Routes);
    DefaultModelBinder.ResourceClassKey = "Messages";
}

, а затем определить ключ PropertyValueInvalid внутри App_GlobalResources/Messages.resx.

Другая возможность заключается в использовании вспомогательного поля в вашей модели представления, как предложено Джереми Скиннером.

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

0 голосов
/ 06 марта 2012

Вы также можете переопределить это.

Перейдите по ссылке ниже http://fluentvalidation.codeplex.com/wikipage?title=Customising

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...