1
我有封装的paper-input
,你可以在下面的代码中看到一个组件:聚合物:防止在提交表单时输入无效
<dom-module id="my-p">
<template>
<div class="my-class>
<paper-input
type="number"
value="{{value}}"
name="{{name}}"
error-message="Error"
invalid="{{invalid}}"
label="{{name}}"
allowed-pattern="[0-9,]"
required="{{required}}"></paper-input>
</div>
</template>
<script>
Polymer({
is: 'my-p',
properties: {
name: String,
value : {
type: Number,
notify : true
},
required : Boolean,
invalid: {
type: Boolean,
value: false,
notify: true
},
}
});
</script>
</dom-module>
此外,我还有一个组件来添加一些以前的成分为一种形式:当我点击第一个提交按钮
<dom-module id="my-form">
<template>
<h2>My test</h2>
<form is="iron-form" id="form" method="get">
<my-p name="my input 1" value="{{value1}}" invalid="{{!_m(value1, value2)}}" required="true"></my-p>
<my-p name="my input 2" value="{{value2}}" invalid="{{!_m(value1, value2)}}"></my-p>
<paper-input name="paper" type="number" label="paper" required="true"></paper-input>
<button type="submit">Send</button>
<paper-button raised id="btn" on-click="_send">Send</paper-button>
</form>
</template>
<script>
Polymer({
is: 'my-form',
_m(v1, v2) {
var n1 = parseInt(v1);
var n2 = parseInt(v2);
var valid = n1 >= (n2 + 2);
return valid;
},_send() {
console.log("ok2");
}
});
</script>
</dom-module>
required
属性适用:如果需要输入是空的形式不提交。
问题是,当任何输入invalid
:提交表单。
我可以防止自己提交表单,如果有任何invalid
输入?
库巴,'querySelectorAll'功能不返回任何东西。 – Amparo
OK,那么你可以使用'Polymer.dom(this.root).querySelectorAll'如果不返回任何东西,那么错就错在选择。所以,只是尽量只设置'Polymer.dom(this.root).querySelectorAll(“我的应用内”)',并告诉如果这个工程。你必须自己尝试一下。我不会引导你完成所有的事情:) –