gcogco10 Ответов: 0

Как проверить сообщение об ошибке на ASP.NET веб-форма?


Привет Команда

У меня есть следующие поля в моей веб-форме asp.net, название улицы, адрес улицы строка 2, Город, почтовый индекс, страна и штат/провинция. Сейчас я изо всех сил пытаюсь сделать проверку ошибок при выходе из текстового поля штата/провинции. В то время как остальная часть другого поля оставалась в фокусе с красной ошибкой без сообщения только одна. Вот моя логика ниже, как способ попытаться решить эту проблему.

Что я уже пробовал:

// Model class
[Required(ErrorMessage = "This field is required")]
public string State { get; set; }
```

View.cshtml

```html
<div class="row">
   <label for="Address">Address</label>
   <div class="col-md-6 ">
      <div class="input-group pull-right">
                      
         @Html.TextBoxFor(m => m.HomeMainModel.Address, new { @class = "form-control", type = "text", id = "inputFormVal",autofocus = "autofocus", placeholder = "Street Address", required = "required" })
         <div class="input-group-append">
            <div class="input-group-text">
            </div>
         </div>
      </div>
   </div>
   <div class="col-md-6">
      <label id="labelMessageBx" class="text-danger" style="display:none"></label>
   </div>
</div>
<hr />
<div class="row">
   <div class="col-md-6 ">
      <div class="input-group pull-right">
                                        
         @Html.TextBoxFor(m => m.HomeMainModel.Address, new { @class = "form-control", type = "text",  id="inputFormVal", autofocus = "autofocus", placeholder = "Street Address Line 2", required = "required" })
         <div class="input-group-append">
            <div class="input-group-text">
            </div>
         </div>
      </div>
   </div>
   <div class="col-md-6">
      <label id="labelMessageBx" class="text-danger" style="display:none"></label>
   </div>
</div>
<hr />
<div class="form-group">
   <div class="input-group mb-2">
      <div class="input-group-prepend">
      </div>
      <div class="input-group col-md-7 col-md-offset-7 col-sm-7 col-xs-7">
         <div class="input-group pull-right">
                                         
            @Html.TextBoxFor(m => m.HomeMainModel.City, new { @class = "form-control", type = "text", id = "inputFormVal", autofocus = "autofocus", placeholder = "City" })           
            @Html.TextBoxFor(m => m.HomeMainModel.Code, new { @class = "form-control", type = "text", id = "inputFormVal", autofocus = "autofocus", placeholder = "Province" })
         </div>
      </div>
   </div>
   <div class="col-md-6">
      <label id="labelMessageBx" class="text-danger" style="display:none"></label>
   </div>
   <hr />
   <!--Zip code for postal code-->
   <div class="input-group mb-2">
      <div class="input-group-append">
      </div>
      <div class="input-group col-md-7 col-md-offset-3 col-sm-2 col-xs-2">
         <div class="input-group pull-right">
                             
                       
            @Html.TextBoxFor(m => m.HomeMainModel.Code, new
            {
            @class = "form-control",
            type = "text",
            id = "inputFormVal",
            autofocus = "autofocus",
            placeholder = "Postal/Zip Code"
            })
                              
            @Html.DropDownListFor(m => m.HomeMainModel.SelectedCountryId, this.ViewBag.CountryList as SelectList, new { @class = "form-control" })
            <div class="input-group-append">
               <div class="input-group-text">
               </div>
            </div>
         </div>
      </div>
      <div class="col-md-6">
         <label id="labelMessageBx" class="text-danger" style="display:none"></label>
      </div>
   </div>
</div>
```
    
```javascript
// function when leaving texbox for city, street address, street_address_line2, state_province.
$(function() {
  $('#inputFormVal').blur(function() {
    var city = document.getElementById("inputFormVal").value;
    var expr = /^([\w-\.]+)@@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    if (!expr.test(city)) {
      document.getElementById("labelMessageBx").style.display = "inline";
    } else {
      document.getElementById("labelMessageBx").style.display = "none";
    }
  });
});
```

0 Ответов