如何在视图中获取错误集合?
我不想使用Html Helper验证摘要或验证消息.相反,我想检查错误,如果有任何显示特定格式.另外在输入控件上我想检查特定的属性错误并在输入中添加一个类.
PS我正在使用Spark View Engine,但这个想法应该是一样的.
所以我想我可以做点像......
<if condition="${ModelState.Errors.Count > 0}">
DispalyErrorSummary()
</if>
....and also...
<input type="text" value="${Model.Name}"
class="?{ModelState.Errors["Name"] != string.empty} error" />
....
Run Code Online (Sandbox Code Playgroud)
或类似的东西.
UPDATE
我的最终解决方案如下所示:
<input type="text" value="${ViewData.Model.Name}"
class="text error?{!ViewData.ModelState.IsValid &&
ViewData.ModelState["Name"].Errors.Count() > 0}"
id="Name" name="Name" />
Run Code Online (Sandbox Code Playgroud)
如果此属性有错误,则仅添加错误css类.
我一直在寻找方法让jQuery自动写入使用html5验证到我的所有输入字段,但我无法告诉它在哪里写它.
我想接受这个
<input type="text" name="first_name" value="" id="freeform_first_name"
maxlength="150">
Run Code Online (Sandbox Code Playgroud)
并在结束标记之前自动添加所需内容
<input type="text" name="first_name" value="" id="freeform_first_name"
maxlength="150" required>
Run Code Online (Sandbox Code Playgroud)
我以为我可以做一些事情
$("input").attr("required", "true");
Run Code Online (Sandbox Code Playgroud)
但它不起作用.任何帮助是极大的赞赏.
在Professional ASP.NET MVC 1.0的NerdDinner示例中,有一种方法可以创建一个新的晚餐,如下所示(免费的NerdDinner版本的第89页).
在那里它检查ModelState.IsValid为true.它似乎检查模型是否对数据库有效(即,它捕获数据类型转换,例如具有无效格式但不是业务规则的日期).真的吗?
提交表单时,如果日期中有错误,ModelState.IsValid将为false并且您将返回错误,但仅限于日期,因为从未执行过AddRuleViolations.如果您完全删除对ModelState.IsValid的检查,那么您将获得所有错误(由于异常),包括无效日期中的标记.那么,为什么要检查ModelState.IsValid呢?我错过了什么吗?
//
// POST: /Dinners/Create
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(Dinner dinner) {
if (ModelState.IsValid) {
try {
dinner.HostedBy = "SomeUser";
dinnerRepository.Add(dinner);
dinnerRepository.Save();
return RedirectToAction("Details", new {id = dinner.DinnerID });
} catch {
ModelState.AddRuleViolations(dinner.GetRuleViolations());
}
}
return View(dinner);
}
Run Code Online (Sandbox Code Playgroud) 我知道jQuery Validation插件是什么.我知道jQuery Unobtrusive Validation库是由Microsoft制作的,并且包含在ASP.NET MVC框架中.但我找不到一个解释它是什么的在线资源.标准jQuery Validation库和"unobtrusive"版本之间有什么区别?
我正在处理登录表单,如果用户输入无效凭据,我们要将电子邮件和密码字段都标记为无效,并显示一条消息,指出登录失败.如何从可观察的回调中将这些字段设置为无效?
模板:
<form #loginForm="ngForm" (ngSubmit)="login(loginForm)" id="loginForm">
<div class="login-content" fxLayout="column" fxLayoutAlign="start stretch">
<md-input-container>
<input mdInput placeholder="Email" type="email" name="email" required [(ngModel)]="email">
</md-input-container>
<md-input-container>
<input mdInput placeholder="Password" type="password" name="password" required [(ngModel)]="password">
</md-input-container>
<p class='error' *ngIf='loginFailed'>The email address or password is invalid.</p>
<div class="extra-options" fxLayout="row" fxLayoutAlign="space-between center">
<md-checkbox class="remember-me">Remember Me</md-checkbox>
<a class="forgot-password" routerLink='/forgot-password'>Forgot Password?</a>
</div>
<button class="login-button" md-raised-button [disabled]="!loginForm.valid">SIGN IN</button>
<p class="note">Don't have an account?<br/> <a [routerLink]="['/register']">Click here to create one</a></p>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
登录方式:
@ViewChild('loginForm') loginForm: HTMLFormElement;
private login(formData: any): void {
this.authService.login(formData).subscribe(res => …Run Code Online (Sandbox Code Playgroud) 如何在Java中验证JSON字符串?或者我可以使用正则表达式解析它吗?
比如我有一个textfield.该字段是必填字段,仅需要数字且值的长度必须为10.当我尝试提交长度为5的值的表单时,将显示默认错误消息:Please match the requested format
<input type="text" required="" pattern="[0-9]{10}" value="">
Run Code Online (Sandbox Code Playgroud)
我需要验证国际电话号码的用户输入.根据E.164,最大长度为15位,但我无法找到有关最小值的任何信息.我只考虑数字,没有加号或分隔符.
电邮领域:
<label for="job_client_email">Email: </label>
<input type="email" name="job[client_email]" id="job_client_email">
Run Code Online (Sandbox Code Playgroud)
看起来像这样:

但是,如果电子邮件验证失败,它将变为:
<div class="field_with_errors">
<label for="job_client_email">Email: </label>
</div>
<div class="field_with_errors">
<input type="email" value="wrong email" name="job[client_email]" id="job_client_email">
</div>
Run Code Online (Sandbox Code Playgroud)
看起来像这样:

我怎么能避免这种外观变化?
validation ×10
asp.net-mvc ×3
jquery ×3
javascript ×2
angular ×1
asp.net ×1
html ×1
html5 ×1
java ×1
json ×1
nerddinner ×1