gpt4 book ai didi

javascript - Aurelia 验证器不更新 UI

转载 作者:行者123 更新时间:2023-12-02 15:20:36 25 4
gpt4 key购买 nike

使用 aurelia-validator 插件,即使表单提交和验证的代码工作正常,所有属性都正确更新,UI 不会改变,就像我在不正确的属性周围没有出现红色窗口一样,也不是给定表单属性有什么问题的陈述。它没有连接到我的CSS,我尝试删除整个CSS,但它仍然不起作用。知道这里出了什么问题吗?遗漏了什么?

contact.js

import {inject} from 'aurelia-framework';
import {Validation} from 'aurelia-validation';


@inject(Validation)
export class Contact{

firstName = 'John';
lastName = '';
company = '';
subject = 'product question';
email = '';
messageText = 'test';

constructor(validation){
this.validation = validation.on(this)
.ensure("firstName")
.isNotEmpty()
.ensure("lastName")
.isNotEmpty()
.ensure("email")
.isNotEmpty()
.isEmail();

}

contact(){
this.validation.validate()
.then(() => {
console.log("works");
})
.catch(() => {
console.log("error");
});
}

}

联系.html

<template>
<div class="row contact-container">
<div class="col-md-4 col-md-offset-3">
<form role="form" validate.bind="validation" submit.delegate="contact()">
<label>First Name</label>
<input type="text" value.bind="firstName" class="form-control" >

<label>Last name</label>
<input type="text" value.bind="lastName" class="form-control">

<label>Company</label>
<input type="text" value.bind="company" class="form-control">

<label>Email</label>
<input type="text" value.bind="email" class="form-control">

<label >Subject</label>
<select value.bind="subject" class="form-control">
<option value="product question">Product Question</option>
<option value="cooperation">Cooperation</option>
<option value="Other">Other</option>

</select>

<label for="message">Message</label>
<textarea rows="5" id="message" value.bind="messageText" class="form-control"></textarea>
<br></br>

<input type="submit" class="form-control">


</form>
</div>
</div>
</template>

最佳答案

我猜问题与您的标记与您正在使用的 ViewStrategy 不匹配有关。

我怀疑您可能正在使用 Aurelia 提供的一些 ViewStrategy,例如 https://github.com/aurelia/validation/blob/master/doc/Intro.md#configuseviewstrategyviewstrategyinstance需要 Twitter Bootstrap 标记。如果是这种情况,您应该将表单输入分组到表单组 - 请参阅演示 ( http://aurelia.io/validation/#/ ) 和 TWBootstrapViewStrategyBase 类的源代码: https://github.com/aurelia/templating-validation/blob/master/src/strategies/twbootstrap-view-strategy.js#L11

关于javascript - Aurelia 验证器不更新 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34119805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com