Asp.net mvc MVC5,在一个页面中两次使用同一模型属性的复选框,但在不同的表单中使用
我打算在两个窗体中使用的模型属性Asp.net mvc MVC5,在一个页面中两次使用同一模型属性的复选框,但在不同的表单中使用,asp.net-mvc,forms,checkbox,Asp.net Mvc,Forms,Checkbox,我打算在两个窗体中使用的模型属性 public class TestModel { [Display(Name = "Terms Accepted")] [Range(typeof(bool), "true", "true", ErrorMessage = "You need to accept terms and conditions to proceed!")] public bool TermsAccepted { get; set; } } 查看页面 <
public class TestModel
{
[Display(Name = "Terms Accepted")]
[Range(typeof(bool), "true", "true", ErrorMessage = "You need to accept terms and conditions to proceed!")]
public bool TermsAccepted { get; set; }
}
查看页面
<form id="form1">
<div class="row">
<div class="col-md-3">
@Html.CheckBoxFor(m => m.TermsAccepted) I accept terms and conditions
@Html.ValidationMessageFor(m => m.TermsAccepted, new { @id = "chk1" })
</div>
<div class="col-md-3">
<input type="submit" id="button1" onclick="return isFormValid('form1');" value="Submit Form 1"/>
</div>
</div>
</form>
<form id="form2">
<div class="row">
<div class="col-md-3">
@Html.CheckBoxFor(m => m.TermsAccepted, new { @id = "chk2" }) I accept terms and conditions
@Html.ValidationMessageFor(m => m.TermsAccepted)
</div>
<div class="col-md-3">
<input type="submit" id="button2" onclick="return isFormValid('form2');" value="Submit Form 2"/>
</div>
</div>
</form>
表格二内:
<input name="TermsAccepted" id="chk2" type="checkbox" value="true">
有什么建议可以使这两种形式都起作用吗?你不能。这是故意的。使用具有2个属性的视图模型。但这又有什么意义呢?您只能提交一个表单,为什么要生成额外的html呢。您试图实现什么?中解释了该行为,作为旁注,
[Range]
属性不会为您提供任何客户端验证。请参阅dazbradbury的答案,以了解您可以使用的属性,该属性将同时提供客户端和服务器端validation@StephenMuecke,我为此添加了客户端jquery验证器,以覆盖复选框的行为。但同意您的意见,它不会在服务器端得到验证。小时脚本没有进入$。验证器
,尽管您可能认为它的行为与其他验证不同。你仍然没有解释为什么你有两个表格(没有意义)你不能。这是故意的。使用具有2个属性的视图模型。但这又有什么意义呢?您只能提交一个表单,为什么要生成额外的html呢。您试图实现什么?中解释了该行为,作为旁注,[Range]
属性不会为您提供任何客户端验证。请参阅dazbradbury的答案,以了解您可以使用的属性,该属性将同时提供客户端和服务器端validation@StephenMuecke,我为此添加了客户端jquery验证器,以覆盖复选框的行为。但同意您的意见,它不会在服务器端得到验证。小时脚本没有进入$。验证器
,尽管您可能认为它的行为与其他验证不同。你仍然没有解释为什么你有两种形式(没有意义)
<input name="TermsAccepted" id="chk2" type="checkbox" value="true">