Локализация / проверка - модель MVC C # использует только мой файл ресурсов по умолчанию вместо другого выбранного языка - PullRequest
0 голосов
/ 11 апреля 2019

В настоящее время я пытаюсь получить подтверждение от бэкэнд-моделей в виде бритвы с использованием файлов ресурсов. Я установил 2 языка (en, fr), но даже если выбран французский язык, сообщение об ошибке всегда отображается на английском языке.

Я пробовал несколько онлайн-уроков / смотрю на других людей, имеющих подобную проблему, но ни одно из исправлений не помогло мне.

мой пример модели представления:

[Required(ErrorMessageResourceName = "RequiredField", ErrorMessageResourceType = typeof(GlobalRes))]
[Display(Name = "Username", ResourceType = typeof(GlobalRes))]
public string Username { get; set; }

[Required(ErrorMessageResourceName = "RequiredField", ErrorMessageResourceType = typeof(GlobalRes))]
[DataType(DataType.Password)]
[Display(Name = "Password", ResourceType = typeof(GlobalRes))]
public string Password { get; set; }

Просмотр бритвы:

<div class="form-group">
   @Html.LabelFor(m => m.Username, new { @class = "col-md-12" })
   <div class="col-md-12">
      @Html.TextBoxFor(m => m.Username, new { @class = "form-control" })
      @Html.ValidationMessageFor(m => m.Username, "", new { @class = "text-danger"})
   </div>
</div>

<div class="form-group">
    @Html.LabelFor(m => m.Password, new { @class = "col-md-12" })
    <div class="col-md-12">
       @Html.PasswordFor(m => m.Password, new { @class = "form-control" })
       @Html.ValidationMessageFor(m => m.Password, "", new { @class = "text-danger" })
     </div>
</div>

Проверка HTML в вашем браузере после смены языка и отправки формы.

<input class="input-validation-error form-control" data-val="true" data-val-required="Ce champ est requis." id="Username" name="Username" type="text" value="">
<span class="field-validation-error text-danger" data-valmsg-for="Username" data-valmsg-replace="true">This field is required.</span>

<input class="input-validation-error form-control" data-val="true" data-val-required="Ce champ est requis." id="Password" name="Password" type="password">
<span class="field-validation-error text-danger" data-valmsg-for="Password" data-valmsg-replace="true">This field is required.</span>

В зависимости от выбранного языка ожидаемые результаты должны быть на французском языке. Если вы осмотрите поле ввода, вы увидите, что на французском языке добавляется правильное значение. При отправке формы вы фактически получаете только английское значение вместо ожидаемого.

Заранее спасибо!

...