나는 부트 스트랩 모달 페이지 내가 올바른 방법으로 모든 것을 넣을 때 제대로 작동검증 부트 스트랩 모달 페이지 Asp.net MVC
@using (Html.BeginForm("Create", "Request"))
{
@Html.AntiForgeryToken()
<div class="form-group">
<div class="col-md-10">
@Html.EditorFor(model => model.Request.FirstName, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Request.FirstName, "", new { @class = "text-danger" , placeholder = "FirstName" })
</div>
</div>
//Omit other form groups for summary
}
에하지만, 예를 들어하지 않았다면 양식을 가지고 내 이름 쓰기 그것 dosent 내게 다시 오류를 줘.
몇 가지 질문이 있습니다. 1 게시하기 전에 입력을 검증 할 수 있습니까? jquery 유효성 검사가 작동하지 않는 것 같습니다.
2 그것은 다시 그것은 내 오류를 표시하지 않는 이유는
3을 게시하기 전에 열려 특정 모달에 올 수 있습니까? 내가 ErrorResource.resx에서이 오류 텍스트를 표시 할
public class Request
{
//pkey
public virtual int Id { get; set; }
//Fkey
public virtual int TourId { get; set; }
[Required]
[MaxLength(150, ErrorMessageResourceType = typeof(ErrorResource), ErrorMessageResourceName = "CheckLenght")]
public virtual string FirstName { get; set; }
[Required]
[MaxLength(150, ErrorMessageResourceType = typeof(ErrorResource), ErrorMessageResourceName = "CheckLenght")]
public virtual string LastName { get; set; }
[Required]
[EmailAddress(ErrorMessageResourceType = typeof(ErrorResource), ErrorMessageResourceName = "Email")]
[MaxLength(150, ErrorMessageResourceType = typeof(ErrorResource), ErrorMessageResourceName = "CheckLenght")]
public virtual string Email { get; set; }
[Required]
public virtual string Phone { get; set; }
[MaxLength(100000000, ErrorMessageResourceType = typeof(ErrorResource), ErrorMessageResourceName = "CheckLenght")]
public virtual string Comment { get; set; }
public virtual bool FrequentTraveler { get; set; }
[Required]
[Range(1, 500000)]
public virtual int TravelersCount { get; set; }
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]
public virtual string Date { get; set; }
public virtual bool ContactTimePreference { get; set; }
[MaxLength(150, ErrorMessageResourceType = typeof(ErrorResource), ErrorMessageResourceName = "CheckLenght")]
public virtual string Country { get; set; }
public virtual bool Archived { get; set; }
}
:
이
내 모델입니다.는 이것이 나의 방법
이가 내 머리 태그 필요한 경우[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Id,TourId,FirstName,LastName,Email,Phone,Comment,FrequentTraveler,TravelersCount,Date,ContactTimePreference,Country,Archived")] Request request)
{
if (ModelState.IsValid)
{
db.Requests.Add(request);
db.SaveChanges();
TempData["ResultMessage"] = "Form Posted successfully.";
return RedirectToAction("Index", "Tour", new { country = TempData["Country"] });
}
TempData["ResultMessage"] = "Try Again!";
return RedirectToAction("Index", "Tour", new { country = TempData["Country"] });
}
만들기 :
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="~/Content/Site.css" rel="stylesheet" type="text/css" />
<link href="~/Content/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script src="~/Scripts/modernizr-2.6.2.js"></script>
</head>
<body>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>
<script src="~/scripts/myjs.js"></script>
</body>
</html>
어떤 하나를 변경해야는지 말해 수 있다면 내가 주셔서 감사합니다. 감사
일부 스크립트 파일이 누락되었을 수 있습니다. –
보기 또는 레이아웃에서'jquery- {version} .js','jquery.validate.js' 및'jquery.validate.unobtrusive.js'를 포함해야합니다. 중복 없음) –
감사합니다. 다시 한 번 감사드립니다. 가능한 경우 답변하십시오. 고마워 –