我在只读文本框(type=“text”)中显示日期时间值,并且它被正确地呈现。但是当我试图保存它时,HTML5突出显示文本框边框,我认为这意味着它已经失败了HTML5日期验证。是因为格式吗?如果是这样的话,如何改变格式呢?如果可能的话,另一种选择可能是禁用默认的html5验证,但我很想知道它的行为。服务器端代码如下:
<div class="panel-body in">
<fieldset class="scheduler-border">
<div class="form-group form-group-textarea">
<div class="col-sm-4">
@Html.LabelFor(m => m.LastUpdatedImage, new { @class = "control-label" })
</div>
<div class="col-sm-8">
@Html.TextBoxFor(m => m.LastUpdatedImage, new { @class = "form-control", @readonly = "readonly" })
</div>
</div>
<div class="form-group form-group-textarea">
<div class="col-sm-4">
@Html.LabelFor(m => m.LastUpdated, new { @class = "control-label" })
</div>
<div class="col-sm-8">
@Html.TextBoxFor(m => m.LastUpdated, new { @class = "form-control", @readonly = "readonly" })
</div>
</div>
<div class="form-group form-group-textarea">
<div class="col-sm-4">
@Html.LabelFor(m => m.LastPrinted, new { @class = "control-label" })
</div>
<div class="col-sm-8">
@Html.TextBoxFor(m => m.LastPrinted, new { @class = "form-control", @readonly = "readonly" })
</div>
</div>
<div class="form-group form-group-textarea">
<div class="col-sm-4">
@Html.LabelFor(m => m.LastExported, new { @class = "control-label" })
</div>
<div class="col-sm-8">
@Html.TextBoxFor(m => m.LastExported, new { @class = "form-control", @readonly = "readonly" })
</div>
</div>
<div class="form-group">
<div class="col-sm-12">
<input type="button" onclick="javascript:GetPropertySummaryDetails(@PropertyCode);" name="ShowSummary" id="ShowSummary" class="btn btn-primary" value="Export" />
</div>
</div>
</fieldset>
为其中一个文本框生成的html是:
<input class="form-control input-validation-error" data-val="true" data-val-date="The field Images Updated must be a date." data-val-required="The Images Updated field is required." id="LastUpdatedImage" name="LastUpdatedImage" readonly="readonly" type="text" value="21/05/2015 15:51:49">
图片如下:
发布于 2015-05-23 03:09:12
首先,这与HTML5控件无关。它与验证表单控件的jquery.validate.js
和jquery.validate.unobtrusive.js`相关。如果页面上不需要其他验证(例如在其他选项卡中),您可以删除这些文件,但是正如您在注释中所指出的,这可能不是一个选项。
另一种解决方案是使用隐藏输入(默认情况下,隐藏输入未被验证),然后在样式类似于输入(边框等)的<div>
元素中呈现<div>
值。
<div class="col-sm-8">
@Html.HiddenFor(m => m.LastUpdatedImage)
<div class="textbox">
@Html.DisplayFor(m => m.LastUpdatedImage)
</div>
</div>
然后根据当前的css为textbox
类添加css定义。
https://stackoverflow.com/questions/30391091
复制相似问题