Удалите регулярные выражения при выбранном выпадающем - PullRequest
0 голосов
/ 05 марта 2020

У меня есть следующий код в моей модели для почтового индекса:

 [RegularExpression("^(([gG][iI][rR] {0,}0[aA]{2})|((([a-pr-uwyzA-PR-UWYZ][a-hk-yA-HK-Y]?[0-9][0-9]?)|(([a-pr-uwyzA-PR-UWYZ][0-9][a-hjkstuwA-HJKSTUW])|([a-pr-uwyzA-PR-UWYZ][a-hk-yA-HK-Y][0-9][abehmnprv-yABEHMNPRV-Y])))( {0,}[0-9][abd-hjlnp-uw-zABD-HJLNP-UW-Z]{2})?))$", ErrorMessage = "Please enter valid postcode")]
        [Required(ErrorMessage = "Post Code is required")]
        [StringLength(20)]
        [Column(TypeName = "VARCHAR")] 
        public string Postcode { get; set; }

На мой взгляд, у меня есть выпадающий список, содержащий страны Великобритании и вариант для не Великобритании. Когда пользователь выбирает non uk, я не хочу, чтобы регулярное выражение применялось к полю почтового индекса:

            <div class="form-group">
                @Html.DropDownListFor(m => m.FormDutyHolder.CountryId, new SelectList(Model.Countries, "CountryId", "CountryName"), "Please select Country", new { title = "Country options", @class = "form-control my-form-inline" })
                @Html.ValidationMessageFor(m => m.FormDutyHolder.CountryId)

            </div>

            @Html.TextBoxFor(m => m.FormDutyHolder.Postcode, new { title = "Postcode", @class = "form-control", placeholder = "Postcode" })
            @Html.ValidationMessageFor(m => m.FormDutyHolder.Postcode)

Это должно происходить на стороне клиента, так как я использую модальные и не хочу страницу refre sh, поэтому я не использую атрибут Custom Validation.

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

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