2016-03-22 4 views
0

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

Модели

public class HomeModel 
{ 
    public LoginModel LoginModel { get; set; } 
} 

public class LoginModel 
{ 
    [Required] 
    [Display(Name = "Email")] 
    public string Username { get; set; } 

    [Required] 
    public string Password { get; set; } 
} 

Index.cshtml:

@model MyApp.Models.HomeModel 

@{     
    await Html.RenderPartialAsync("_LoginPartial", Model.LoginModel); 
} 

HomeController

public IActionResult Index() 
{ 
    return View(new HomeModel() 
    { 
     LoginModel = new LoginModel() 
    }); 
}   

[HttpPost] 
public IActionResult Login(LoginModel model) 
{ 
    return View("Index", new HomeModel() 
    { 
     LoginModel = model 
    }); 
} 

_LoginPartial

@model MyApp.Models.LoginModel 
<form asp-action="Login" asp-controller="Home" method="post" role="form" style="width:70%;margin: 0 auto;"> 
    <div style="display:none" asp-validation-summary="ValidationSummary.All" class="alert alert-danger fade in"> 
     <a href="#" class="close" data-dismiss="alert">&times;</a> 
     <strong>Error!</strong> A problem has been occurred while submitting your data. 
    </div> 
    <div class="form-group" style="text-align:left"> 
     <label asp-for="Username" style="font-size:22px;" class="control-label"></label> 
     <input asp-for="Username" type="text" class="form-control" /> 
    </div> 
    <div class="form-group" style="text-align:left"> 
     <label asp-for="Password" style="font-size:22px;" class="control-label"></label> 
     <input asp-for="Password" type="password" class="form-control" /> 
    </div> 
    <div class="spacer-15"></div> 
    <div class="form-group" style="font-size:22px;"> 
     <button type="submit" 
       style="background-color: Transparent; 
         background-repeat:no-repeat; 
         border: none; 
         cursor:pointer; 
         overflow: hidden; 
         outline:none;" value="Login"> 
      <img src="~/images/flower.png" />Next 
     </button> 
    </div> 
</form> 
+0

Какая версия MVC это? – Chad

+0

@ Версия для конверта 6.0 rc1 –

+0

@rashfmnb - она ​​есть, вы не можете ее увидеть? –

ответ

0

Похоже, вы пропустили несколько вещей. Каждому из ваших входов будет нужен соответствующий элемент проверки, который использует asp-validation-for.

<div class="form-group" style="text-align:left"> 
    <label asp-for="Username" style="font-size:22px;" class="control-label"></label> 
    <input asp-for="Username" type="text" class="form-control" /> 
    <span asp-validation-for="Username" class="text-danger"></span> 
</div> 

Кроме того, если вы планируете использовать проверку JQuery, вы должны добавить следующие строки в элементах окружающей среды в файле _Layout.cshtml.

<script src="~/lib/jquery-validation/dist/jquery.validate.js"></script> 
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script> 
+0

Конечно. Я подумал, что я поставил asp-validation-for там, но я должен был удалить его в какой-то момент. –

Смежные вопросы