Javascript 如何使用角度..在窗体中使用模糊事件。。?
我用这个做一个表格 我能够在点击按钮时验证表单,但有一种方法可以验证Javascript 如何使用角度..在窗体中使用模糊事件。。?,javascript,angularjs,angularjs-directive,jsonschema,angular-schema-form,Javascript,Angularjs,Angularjs Directive,Jsonschema,Angular Schema Form,我用这个做一个表格 我能够在点击按钮时验证表单,但有一种方法可以验证onBlur,但我不知道如何实现这一点 这是我的 angular.module('test',['schemaForm']).controller('FormController',function($scope,$http){ $scope.schema={ 类型:“对象”, 特性:{ 名称:{type:“string”,minLength:2,title:“name”,description:“name或alias”,必需
onBlur
,但我不知道如何实现这一点
这是我的
angular.module('test',['schemaForm']).controller('FormController',function($scope,$http){
$scope.schema={
类型:“对象”,
特性:{
名称:{type:“string”,minLength:2,title:“name”,description:“name或alias”,必需:true},
“电子邮件”:{
“标题”:“电子邮件”,
“类型”:“字符串”,
“模式”:“^\\S+@\\S+$”,
验证消息:{
“默认值”:“请写一个正确的地址,好吗?”//特殊捕获所有错误消息
},
“说明”:“电子邮件将用于邪恶。”,
必填项:true
},
标题:{
键入:“字符串”,
要求:正确,
枚举:['dr'、'jr'、'sir'、'mrs'、'mr'、'NaN'、'dj']
}
}
};
$scope.form=[
"*",
{
键入:“提交”,
标题:“保存”
}
];
$scope.model={};
$scope.onSubmit=函数(表单){
//首先,我们广播一个事件,以便所有字段都进行自我验证
$scope.$broadcast('schemaFormValidate');
//然后我们检查表格是否有效
如果(表格$valid){
//…对您的数据执行任何需要执行的操作。
}
}
})
angularjs v1.3.0-beta.6中提供了ngModelOptions
功能
你必须使用v1.3.0-beta.6或更高版本,那么你的plunker就可以正常工作了
示例Plunker:请看这里。这是一个关于JS表单验证的教程,你正在给静态验证我需要动态验证你想要在Blur上验证字段,不是吗?阅读教程,它会对你有所帮助。好的,我已经阅读了本教程。谢谢你的帮助。你将它包括在你的plunker中?是的,我刚刚将你的plunker更改为使用angularjs到1.3.0-beta.18,但它仍然不适用于模糊,…请检查你的侧边“适用于模糊”到底是什么意思?我看到输入是在Blur而不是onchange上验证的。哦,谢谢它现在工作了。为什么onchange stop可以让我们一起做呢。。。但我还有一个问题。我们可以称模糊上的函数吗..例如,如果我有一个字段(“名称”),我需要检查它是否包含“sharma”文本,而不是它是否为真,否则为假
<!DOCTYPE html>
<html >
<head>
<link data-require="bootstrap-css@3.x" data-semver="3.2.0" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" />
<link rel="stylesheet" href="style.css" />
</head>
<body ng-app="test" ng-controller="FormController">
<form name="ngform"
sf-schema="schema"
sf-form="form"
sf-model="model" sf-options="{ formDefaults: { ngModelOptions: { updateOn: 'blur' } }}" ng-submit="onSubmit(ngform)"></form>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
<script src="//dl.dropboxusercontent.com/s/icrciconaesuw29/tv4.js?m="></script>
<script data-require="angular.js@*" data-semver="1.3.0-beta.5" src="//code.angularjs.org/1.3.0-beta.5/angular.js"></script>
<script src="//dl.dropboxusercontent.com/s/unk0id7tmc9w0mm/angular-sanitize.js?m="></script>
<script src="//dl.dropboxusercontent.com/s/rk0dfetihiqs7bi/ObjectPath.js"></script>
<script src="//dl.dropboxusercontent.com/s/8fq4c4t7jct4w4h/schema-form.js?m="></script>
<script type="text/javascript" src="//textalk.github.io/angular-schema-form/dist/bootstrap-decorator.min.js"></script>
<script>
angular.module('test',['schemaForm']).controller('FormController', function($scope,$http){
$scope.schema = {
type: "object",
properties: {
name: { type: "string", minLength: 2, title: "Name", description: "Name or alias" ,required:true},
"email": {
"title": "Email",
"type": "string",
"pattern": "^\\S+@\\S+$",
validationMessage: {
"default": "Just write a proper address, will you?" //Special catch all error message
},
"description": "Email will be used for evil.",
required:true
},
title: {
type: "string",
required:true,
enum: ['dr','jr','sir','mrs','mr','NaN','dj']
}
}
};
$scope.form = [
"*",
{
type: "submit",
title: "Save"
}
];
$scope.model = {};
$scope.onSubmit = function(form) {
// First we broadcast an event so all fields validate themselves
$scope.$broadcast('schemaFormValidate');
// Then we check if the form is valid
if (form.$valid) {
// ... do whatever you need to do with your data.
}
}
})
</script>
</body>
</html>