我在razor局部视图中声明了一个编辑器字段
<div class="form-group">
@Html.LabelFor(model => model.sifra_materijala, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.sifra_materijala)
@Html.ValidationMessageFor(model => model.sifra_materijala)
</div>
</div>
使用&#34; RenderPartial&#34;调用视图来自指数。
生成&#h; html:
<input type="text" value="" name="sifra_materijala" id="sifra_materijala"
data-val-remote-url="/NormativiMaterijala/MaterijalUPoziciji"
data-val-remote-additionalfields="*.sifra_materijala"
data-val-remote="'sifra_materijala' is invalid."
data-val="true" class="text-box single-line">
我也有
[HttpGet]
public virtual JsonResult MaterijalUPoziciji(string sifra_materijala)
{
// do some checking and return json result..
}
和
[Remote("MaterijalUPoziciji", "NormativiMaterijala", ErrorMessage = "Already Exists")]
public string sifra_materijala { get; set; }
在需要检查的模型中所有这一切都没有明显的原因。我检查了拼写,jquery不显眼的脚本,一切正常,但从未调用验证方法。
让事情变得更加令人困惑,我在另一页上完成所有这些工作非常好......
有人可以帮我这个吗?
编辑:在firebug中检查页面显示退出/更改编辑框后没有请求发送需要验证的数据...
我也有剧本。
<script src="@Url.Content("~/Scripts/jquery-2.1.0.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")"></script>
<script src="@Url.Content("~/Scripts/bootstrap.min.js")"></script>
我还添加了第二次验证,这不是远程验证,而且这个验证工作正常,但远程仍然死了...
[StringLength(10, MinimumLength = 5, ErrorMessage = "Sifra must be minimum 5 characters long")]
[Remote("MaterijalUPoziciji", "NormativiMaterijala", ErrorMessage = "Already Exists")]
public string sifra_materijala { get; set; }
答案 0 :(得分:2)
我遇到了类似的问题,包括Remote在内的客户端验证都没有在局部视图中工作。在我的情况下,因为jquery.validate包在包含页面中,而部分是通过ajax加载的。我不得不将jquery.validate js脚本移动到局部视图中:
@Scripts.Render("~/bundles/jqueryval")
答案 1 :(得分:0)
在不眠之夜尝试和错误解决了...... 问题出在&#34;虚拟&#34;声明我的控制器功能..删除它并且现在正常工作......
[HttpGet]
public JsonResult MaterijalUPoziciji(string sifra_materijala)
{
// do some checking and return json result..
}
我希望这个答案可以帮助某个人......