我需要验证ASP MVC3视图中的许多字段,并尝试使用jQuery来执行此操作。 jQuery .val()
方法可以很好地从输入字段中提取accountNumber
,refNumber
和ownerMaster
,但agentId
字段的值始终为{{ 1}}无论如何。
我一遍又一遍地查看我的代码中的拼写错误并且没有找到它。希望另一组眼睛能够成功。
仅供参考 - 如果我将""
下面的.val()
更改为$('#AgentId').val()
,则隐藏方法可以正常工作,并且字段会消失,这意味着我可以正确输入选择器。
的jQuery
.hide()
ASP MVC Razor
function ValidateFields(transactionType) {
var msg = "";
var refNumber = $('#RefNumber').val();
var ownerMaster = $('#OwnerMasterAgentId').val();
var accountNumber = $('#AccountNumber').val();
var agentId = $('#AgentId').val(); //When the agentId variable an selector + val() are
//evaluated here both have a value of ""
HTML
<div class="M-editor-label">
@Html.LabelFor(model => model.RefNumber)
<span class="alwaysReq"> @Html.Raw("*")</span>
</div>
<div class="M-editor-field">
@Html.TextBoxFor(model => model.RefNumber, new { maxlength = 9, @class = "staticData" })
</div>
<div class="M-editor-label">
@Html.LabelFor(model => model.OwnerMasterAgentId)
<span class="req">@Html.Raw("*")</span>
</div>
<div class="M-editor-field">
@Html.TextBoxFor(model => model.OwnerMasterAgentId, new { maxlength = 8, @class="staticData" })
</div>
<div class="M-editor-label">
@Html.LabelFor(model => model.AccountNumber)
<span class="req">@Html.Raw("*")</span>
</div>
<div class="M-editor-field">
@Html.TextBoxFor(model => model.AccountNumber, new { maxlength = 17 })
</div>
<div class="M-editor-label">
@Html.LabelFor(model => model.AgentId)
<span class="req">@Html.Raw("*")</span>
</div>
<div class="M-editor-field">
@Html.TextBoxFor(model => model.AgentId, new { maxlength = 8 })
</div>
答案 0 :(得分:0)
我没有看到问题,
实际上,您不必创建自己的验证,您可以使用数据注释验证 它提供了服务器端和客户端验证
答案 1 :(得分:-1)
试试这个
var agentId=$('#@Html.FieldIdFor(model => model.AgentId)').val();