我有一个ModelA成员toBeRemoteChecked模型MapToA和一个成员模型valueToMap.每当我创建一个实例时ModelA,我也需要一个实例MapToA,所以我有一个CreateModelA包含成员modelA和成员的模型valueToMap.提交表单时,我将添加modelA到数据库表ModelA并创建并添加一个实例,MapToA其中包含id modelA和valueToMap.在代码方面
public class ModelA
{
[Key]
public int ID { get; set; }
[Required, Remote("isValid", "MyController", ErrorMessage = "not valid")]
public string toBeRemoteChecked { get; set; }
}
public class MapToA
{
[Key]
public int Map_ID { get; set; }
[Required]
public int modelAID { get; set; }
[Required]
public int valueToMap …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用远程验证和其他bool复选框字段
[Remote("IsStorageConnectionValid", "TenantManagement", AdditionalFields = "CreateStorage")]
public String StorageConnectionString { get; set; }
Run Code Online (Sandbox Code Playgroud)
验证码
public JsonResult IsStorageConnectionValid(string storageConnectionString, bool createStorage){
Run Code Online (Sandbox Code Playgroud)
它在击中验证器方面非常有效.但是,无论复选框的值如何,createStorage始终为true.如果我使用不是复选框的其他字段,则可以完美地提供它们.
复选框作为标准创建:
@Html.CheckBoxFor(m => m.CreateStorage)
Run Code Online (Sandbox Code Playgroud)
这是一个错误吗?或者我做错了吗?
asp.net-mvc unobtrusive-validation asp.net-mvc-5 asp.net-mvc-5.2
我试图通过客户端的远程验证来验证用户名,并且在创建模块中添加重复字段时工作正常,但现在它不允许我使用相同的名称编辑记录它显示了我定义的相同错误用于创造.我尝试了所有可能的方法但没有成功请帮助我.我已经按照这些链接但它无论如何都无法正常工作.
http://stackoverflow.com/questions/4778151/asp-net-mvc-3-remote-validation-to-allow-original-value http://stackoverflow.com/questions/6407096/asp-net-mvc-3 -remote属性-传球-3-字段
这是我的代码到目前为止我尝试过的.请帮助专家.
[Required]
[Remote("IsUserAvailable", "User", HttpMethod = "Post", ErrorMessage = "User already exist.", AdditionalFields = "InitialUserName")]
[RegularExpression(@"^(?![\W_]+$)(?!\d+$)[a-zA-Z0-9 ]+$", ErrorMessage = "Invalid UserName ")]
public string UserName { get; set; }
[HttpPost]
public JsonResult IsUserAvailable([Bind(Prefix = "User.UserName")]string UserName, string initialUserName)
{
var result = uDbContext.Users.FirstOrDefault(a => a.UserName == UserName);
if (result == null)
{
return Json(true, JsonRequestBehavior.AllowGet);
}
return Json(JsonRequestBehavior.AllowGet);
}
@model User.ViewModel.ViewModelUser
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
@Html.HiddenFor(m => m.User.UserId)
@Html.LabelFor(m.User.UserName)
@Html.TextBoxFor(m => m.User.UserName)
@Html.ValidationMessageFor(m.User.UserName)
@Html.Hidden("initialUserName", Model.User) …Run Code Online (Sandbox Code Playgroud)