C# 如何在asp mvc和实体框架中对文本框进行验证

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>

我正在使用C#和SQLServer2005开发一个ASP.NETMVC3应用程序

我还使用实体框架和代码优先方法

我有一些文本框,我希望它们只接受数字(Int)。

我试图用javascript实现这一点,但失败了,因为它们是以类的形式出现的。

例如:

<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>