이 내 asp.net의 MVC의 내 모델이 프로젝트입니다 :는 Html.ValidationMessageFor의 asp.net MVC에서 doen't 작업은 2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.DynamicData;
using System.Web.Security;
using System.Globalization;
using System.Web.Profile;
namespace EMS.Models
{
public class UserModels
{
[Required(ErrorMessage = "*")]
public string userName { get; set; }
[Required(ErrorMessage = "*")]
public string passWord { get; set; }
}
}
그리고 이것은 내보기입니다 :
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm()) { %>
<table>
<tr>
<td><label for="userlogin">User Login:</label></td>
<td>
<%: Html.TextBoxFor(m => m.userName, new { id = "userName"})%>
<%: Html.ValidationMessageFor(m => m.name)%>
</td>
<td><label for="password">Password:</label></td>
<td>
<%: Html.PasswordFor(m => m.passWord, new { id = "password"})%>
<%: Html.ValidationMessageFor(m => m.passWord)%>
</td>
</tr>
<tr>
<td colspan="4">
<input type="submit" name="enter_infor" id="enter_infor" value="Enter Information"/>
</td>
</tr>
</table>
그리고 이것은 내 컨트롤러입니다 :
[HttpPost]
public ActionResult UserMaintenance(FormCollection frm)
{
UserModels candidate = new UserModels
{
userName = frm["userName"].ToString(),
passWord = frm["passWord"].ToString()
};
DBSEntities context = new DBSEntities();
UserName user = new UserName();
context.AddToUserNames(user);
context.SaveChanges();
return View();
}
문제점 : 사용자가 사용자 이름과 암호 텍스트 상자를 모두 입력했는지 여부에 관계없이 유효성을 검사하고 싶습니다. 그러나 위의 모든 코드는 사용자가 유효성 검사 메시지없이 제출할 수 있습니다. Site.Master 준비에 스크립트를 포함 시켰습니다. 누구나 말해 줄 수 있어요, 내가 잘못 했어?
감사합니다.
답장을 보내 주셔서 감사합니다. – Nothing