我试图在网上找到一些可用的信息,但无法将它们连接在一起。我有一个使用登录页面的应用程序。现在我没有将视图绑定到任何模型。但是我有两个输入(用户名和密码)。我想触发 Asp.net Mvc 附带的 jquery 不显眼的验证功能。以下是示例:
带有 Twitter 引导程序的主干模板,它是登录模板(下划线模板引擎)。
@using (@Html.BeginForm("Login", "Home", FormMethod.Post, new { @class = "form-horizontal" }))
{
<div class="modal-body">
<div class="control-group">
<label class="control-label" for="inputEmail">Email</label>
<div class="controls">
@*<input type="text" id="inputEmail" placeholder="Email">*@
@Html.TextBox("Email", "", new { @placeholder = "Email" })
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputPassword">Password</label>
<div class="controls">
<input type="password" id="inputPassword" placeholder="Password">
</div>
</div>
<div class="control-group">
@*<div class="controls">
<label class="checkbox">
<input type="checkbox"> Remember me
</label>
<button type="submit" class="btn">Sign in</button>
</div>*@
</div>
</div>
<div class="modal-footer">
@*<a class="btn" href="#" id="closeBtn">Close</a>*@ <button type="submit" class="btn btn-primary" >Login</button>
</div>
}
登录视图的 Coffeescript
require ['backbone','bootstrap','jqValUnobtrusive'],(Backbone) ->
class LoginView extends Backbone.View
el:$("#content")
initialize: ->
@render()
@validationOptions = @options.validationOptions
validationOptions:
rules:
'Email':
required:true
'user[password]':
required:true
close:->
console.log "hello"
render : ->
$(@el).find("#login").html _.template $("#loginTemplate").html()
App = new LoginView
我的控制器在浏览器中没有 javascript 的情况下将服务器端逻辑添加到验证规则
[HttpPost]
[ValidateInput(true)]
public ActionResult Login(FormCollection Form)
{
ViewBag.Message = "Method posted";
if (Form["Email"] == string.Empty)
{
ModelState.AddModelError("Email", "Please Provide a Username");
ModelState.SetModelValue("Email", ValueProvider.GetValue("Email"));
}
return View();
}
有人能对这个问题有所了解吗?如何将 twitter 引导验证消息与此 jquery 不显眼的代码一起显示错误?或者扩展 jquery 不显眼的验证插件以与 twitter bootstrap / 主干一起执行验证?
我的标准是用户名和密码不应为 NULL 或空白。一个用于验证没有模型绑定的表单的简单案例(我不想将登录页面绑定到任何模型)。而是将 jquery 不显眼的插件与扩展主干和 twitter 引导样式连接起来!