首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JsViews顶层数据链接验证组语法?

JsViews顶层数据链接验证组语法?
EN

Stack Overflow用户
提问于 2015-12-02 01:23:31
回答 1查看 112关注 0票数 1

在这个jsViews验证组的示例中,我看到它存在于模板中,并包含要验证的所有字段。http://www.jsviews.com/#samples/tag-controls/datepicker/with-validation-wizard

是否也可以使用顶级数据链接表单元素组成验证组,例如在这个jsfiddle中?http://jsfiddle.net/xnerzqt6/

代码语言:javascript
复制
var app = {
    formData: {
        selectedThing: "",
        selectedPlace: "",
        selectedAction: ""
    }
};


$("#content").link(true, app);
代码语言:javascript
复制
.val-msg {
	margin-right: 5px;
}

.invalid.val-msg {
	border: 2px solid #cf321d;
}

.radiogroup.val-msg {
	padding: 3px;
	display: inline-block;
}

.radiogroup.invalid.val-msg {
	margin: 5px;
}

select.invalid.val-msg {
	margin: 4px;
}

select.val-msg {
	margin: 5px;
}

input[type=radio] {
	margin: 3px 3px 3px 5px;
	padding: 0;
}

label.error {
	color: #cf321d;
	font-style: italic;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://www.jsviews.com/download/jsviews.js"></script>
<script src="http://www.jsviews.com/download/sample-tag-controls/generic-edit/edit.js"></script>
<script src="http://www.jsviews.com/download/sample-tag-controls/validate/validate.js"></script>

<div id="content">
    <input data-link='{validate formData.selectedThing trigger=true minLength=8}'/><br/>
    <input data-link='{validate formData.selectedPlace trigger=true minLength=8}'/><br/>
    <span>large block of unrelated stuff</span><br/>
    <input data-link='{validate formData.selectedAction trigger=true minLength=8}'/><br/>
    <input type='button' value='Submit'/><br/>
    <span>should not be able to submit while any validation fails</span>
</div>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-06 02:04:13

链接到的验证向导示例使用了一个“验证”验证组标记和一个“验证”标记,这些标记是为模板中的嵌套标记编写的:

代码语言:javascript
复制
{^{validation}}
    {^{validate .../}}
    {^{validate .../}}
{{/validation}}

所以你有两个选择。1)编写一个新的验证组标记,用于处理顶级数据链接,或者2)在您的页面中包含一些以编程方式将验证标记实例连接到验证组标记的“shim代码”。

#2实际上是可行的--在这里,它处于一种摇摆不定的状态:http://jsfiddle.net/BorisMoore/xf0Lnufw/

额外的空间代码如下:

代码语言:javascript
复制
// Get the validationGroup 'validation' tag
var validationGroup = $.view().childTags("validation")[0];

$.view().childTags("validate").forEach(function(validateTag) {
    // For each 'validate' tag, associate with validationGroup.
    validateTag.validationGroup = validationGroup;
    validationGroup.addChild(validateTag);
});

validationGroup.validate(); // Run the validation group validate() method

// Data-link the disabled state of the submit button to be disabled except
// when the validationGroup is valid.
$.link(
    "disabled{:!~validation.isValid}",
    "#submitBtn",
    app,
    {validation: validationGroup}
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34033341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档