C# 如何在asp mvc和实体框架中对文本框进行验证
我正在使用C#和SQLServer2005开发一个ASP.NETMVC3应用程序 我还使用实体框架和代码优先方法 我有一些文本框,我希望它们只接受数字(Int)。 我试图用javascript实现这一点,但失败了,因为它们是以类的形式出现的。 例如:C# 如何在asp mvc和实体框架中对文本框进行验证,c#,sql-server,visual-studio-2010,asp.net-mvc-3,C#,Sql Server,Visual Studio 2010,Asp.net Mvc 3,我正在使用C#和SQLServer2005开发一个ASP.NETMVC3应用程序 我还使用实体框架和代码优先方法 我有一些文本框,我希望它们只接受数字(Int)。 我试图用javascript实现这一点,但失败了,因为它们是以类的形式出现的。 例如: <div><%:Html.Label("Nombre de Passage :")%><%: Html.EditorFor(model=>model.Nbr_Passage)%></div>
<div><%:Html.Label("Nombre de Passage :")%><%: Html.EditorFor(model=>model.Nbr_Passage)%></div>
但当我按下“提交”按钮时,总会出现以下错误:
Validation failed for one or more entities. See 'EntityValidationErrors' property for more details
我对此做了一些研究,我发现我必须使用try-catch。但我不知道在哪里以及如何使用它
这是控制器的代码(提交时的功能):
更新:
这是打开视图按钮上的javascript影响代码:
<input type="button" value="Configurer" id="btnShowGestion" /></div>
<div id="divGestion"><%: Html.Partial("Gestion", Model) %></div>
<% } %>
<script type="text/javascript">
$(document).ready(function () {
$('#btnShowGestion').click(function () { $('#divGestion').slideToggle("slow") });
});
</script>
<fieldset>
$(文档).ready(函数(){
$('btnShowGestion')。单击(函数(){$('btnShowGestion')。滑动切换(“慢”)};
});
首先,看起来您的FlowViewModel在Nbr\U通道中使用了字符串,否则我不理解int.Parse
。int应该可以正常工作
其次,我没有看到任何向字段添加验证器的调用,也没有提到任何为整个表单呈现摘要的调用。您可能需要添加(其中一个)。首先,您需要添加两个名为jquery.validate.min.js和jquery.validate.unobtrusive.min.js的.js文件,它们已经包含在为MVC 3制作的测试项目中
然后您需要在表单的开头添加Html.ValidationSummary。
然后可以对每个控件使用Html.validationMessage
使用Html.ValidationMessageFor的示例
<div class="editor-label">
<%: Html.LabelFor(m => m.Password) %>
</div>
<div class="editor-field">
<%: Html.PasswordFor(m => m.Password) %>
<%: Html.ValidationMessageFor(m => m.Password) %>
</div>
m、 密码)%%>
m、 密码)%%>
m、 密码)%%>
在模型中,指定必需的属性并定义错误语句
希望这对您的回答有所帮助,关于字符串和int。Parse:这是加载值的另一个问题,我必须在字符串中完成。我将尝试在视图中使用validationsummary,并给出结果我将Html.ValidationMessageFor和Html.validationsummary放在视图中,但没有结果!!!正如Muhammed提到的,您的页面上是否也包含JQuery验证?您的ViewModel上的验证属性也是吗?是的,我做了所有的工作人员,,,但是现在的问题是,,,当我在代码中包含js验证文件时,,,视图(部分视图)将无法打开:((定义“Will not open”(将不打开)。您可能希望运行本教程:是的,我做了所有工作人员的工作,,,但现在的问题是,,,当我在代码中包含js验证文件时,视图(部分视图)将不会打开:((
<input type="button" value="Configurer" id="btnShowGestion" /></div>
<div id="divGestion"><%: Html.Partial("Gestion", Model) %></div>
<% } %>
<script type="text/javascript">
$(document).ready(function () {
$('#btnShowGestion').click(function () { $('#divGestion').slideToggle("slow") });
});
</script>
<fieldset>
<div class="editor-label">
<%: Html.LabelFor(m => m.Password) %>
</div>
<div class="editor-field">
<%: Html.PasswordFor(m => m.Password) %>
<%: Html.ValidationMessageFor(m => m.Password) %>
</div>