我在视图上有这个输入:
<%= Html.TextBoxCurrentDateWithoutPermission("EffectiveDate", Model.EffectiveDate.HasValue ? Model.EffectiveDate.Value.ToString("dd-MMM-yyyy") : "", new string[] { PERMISSIONS.hasICAdvanced }, new { @class = "economicTextBox", propertyName = "EffectiveDate", onchange = "parseAndSetDt(this); ", dataType = "Date" })%>
以下是自定义HTML帮助程序:
public static MvcHtmlString TextBoxCurrentDateWithoutPermission(
this HtmlHelper htmlHelper,
string name,
object value,
string[] permissions,
object htmlAttributes
)
{
foreach (string permission in permissions)
{
if (Chatham.Web.UI.Extranet.SessionManager.DisplayUser.IsInRole(permission))
{
// the user has the permission => render the textbox
return htmlHelper.TextBox(name, value, htmlAttributes);
}
}
// the user has no permission => render a readonly checkbox
var mergedHtmlAttributes = new RouteValueDictionary(htmlAttributes);
mergedHtmlAttributes["disabled"] = "disabled";
return htmlHelper.TextBox(name, value == "" ? DateTime.Now : value, mergedHtmlAttributes);
}
现在的工作方式是,当用户没有传入权限时,该框被禁用。
它需要的方式 - 如果用户没有传入权限,则需要启用它,但是它可以接受的唯一日期是今天的日期和日期。
所以我需要JQuery验证(或者只是简单的JS),对于以下情况,页面上的这个文本框:
如果文本框已启用且用户没有权限,则允许用户仅输入当前日期或未来日期。
答案 0 :(得分:0)
使用JQuery .validate()方法结束。