Skip to content

Commit

Permalink
issue #869
Browse files Browse the repository at this point in the history
  • Loading branch information
olton committed Nov 24, 2016
1 parent 0b10f1a commit cac2bff
Show file tree
Hide file tree
Showing 5 changed files with 94 additions and 17 deletions.
16 changes: 11 additions & 5 deletions build/js/metro.js
Original file line number Diff line number Diff line change
Expand Up @@ -9480,19 +9480,25 @@ $.widget( "metro.validator" , {
$.each(inputs, function(i, v){
var this_result = true;
var input = $(v);
var func = input.data('validateFunc') != undefined ? String(input.data('validateFunc')).split(",") : [],
arg = input.data('validateArg') != undefined ? String(input.data('validateArg')).split(",") : [];
var func = [], arg = [];

//console.log(input.data('validateArg'));
func = input.data('validateFunc') != undefined ? String(input.data('validateFunc')).split(",") : [];
$.each(func, function(i, v){
func[i] = String(func[i]).trim();
});

if (func.indexOf('pattern') !== -1) {
arg.push(String(input.data('validateArg')));
} else {
arg = input.data('validateArg') != undefined ? String(input.data('validateArg')).split(",") : [];
}

$.each(func, function(i, func_name){
if (!this_result) return;
var _args = arg[i] != undefined ? arg[i] : false;
this_result = that.funcs[func_name.trim()](input.val(), _args);
});

// this_result = that.funcs[func](input.val(), arg);

if (!this_result) {
if (typeof o.onErrorInput === 'function') {
o.onErrorInput(input);
Expand Down
4 changes: 2 additions & 2 deletions build/js/metro.min.js

Large diffs are not rendered by default.

16 changes: 11 additions & 5 deletions docs/js/metro.js
Original file line number Diff line number Diff line change
Expand Up @@ -9480,19 +9480,25 @@ $.widget( "metro.validator" , {
$.each(inputs, function(i, v){
var this_result = true;
var input = $(v);
var func = input.data('validateFunc') != undefined ? String(input.data('validateFunc')).split(",") : [],
arg = input.data('validateArg') != undefined ? String(input.data('validateArg')).split(",") : [];
var func = [], arg = [];

//console.log(input.data('validateArg'));
func = input.data('validateFunc') != undefined ? String(input.data('validateFunc')).split(",") : [];
$.each(func, function(i, v){
func[i] = String(func[i]).trim();
});

if (func.indexOf('pattern') !== -1) {
arg.push(String(input.data('validateArg')));
} else {
arg = input.data('validateArg') != undefined ? String(input.data('validateArg')).split(",") : [];
}

$.each(func, function(i, func_name){
if (!this_result) return;
var _args = arg[i] != undefined ? arg[i] : false;
this_result = that.funcs[func_name.trim()](input.val(), _args);
});

// this_result = that.funcs[func](input.val(), arg);

if (!this_result) {
if (typeof o.onErrorInput === 'function') {
o.onErrorInput(input);
Expand Down
59 changes: 59 additions & 0 deletions docs/validator-test.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="description" content="Metro, a sleek, intuitive, and powerful framework for faster and easier web development for Windows Metro Style.">
<meta name="keywords" content="HTML, CSS, JS, JavaScript, framework, metro, front-end, frontend, web development">
<meta name="author" content="Sergey Pimenov and Metro UI CSS contributors">

<link rel='shortcut icon' type='image/x-icon' href='favicon.ico' />
<title>Metro UI CSS - The front-end framework for developing projects on the web in Windows Metro Style</title>

<link href="css/metro.css" rel="stylesheet">
<link href="css/metro-icons.css" rel="stylesheet">
<link href="css/metro-responsive.css" rel="stylesheet">
<link href="css/metro-schemes.css" rel="stylesheet">
<link href="css/metro-colors.css" rel="stylesheet">

<link href="css/docs.css" rel="stylesheet">

<script src="js/jquery-3.1.0.min.js"></script>
<script src="js/metro.js"></script>
<script src="js/docs.js"></script>
<script src="js/prettify/run_prettify.js"></script>
<script src="js/ga.js"></script>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

<script>
function no_submit(){
return false;
}
</script>
</head>
<body>
<div class="container page-content">
<h1><a href="index.html" class="nav-button transform"><span></span></a>&nbsp;Flips</h1>

@@adsense

<div class="example">
<form data-role="validator">
<div class="input-control text " data-role="input">
<input type="text"
data-validate-func="pattern"
placeholder="custom pattern: ^\d+$"
data-validate-arg="^[0-9]{3,}$"
data-validate-hint="Value must be eq to pattern">
<span class="input-state-error mif-warning"></span>
<span class="input-state-success mif-checkmark"></span>
</div>

<button class="button">Send</button>
</form>
</div>
</div>

</body>
</html>
16 changes: 11 additions & 5 deletions js/widgets/validator.js
Original file line number Diff line number Diff line change
Expand Up @@ -178,19 +178,25 @@ $.widget( "metro.validator" , {
$.each(inputs, function(i, v){
var this_result = true;
var input = $(v);
var func = input.data('validateFunc') != undefined ? String(input.data('validateFunc')).split(",") : [],
arg = input.data('validateArg') != undefined ? String(input.data('validateArg')).split(",") : [];
var func = [], arg = [];

//console.log(input.data('validateArg'));
func = input.data('validateFunc') != undefined ? String(input.data('validateFunc')).split(",") : [];
$.each(func, function(i, v){
func[i] = String(func[i]).trim();
});

if (func.indexOf('pattern') !== -1) {
arg.push(String(input.data('validateArg')));
} else {
arg = input.data('validateArg') != undefined ? String(input.data('validateArg')).split(",") : [];
}

$.each(func, function(i, func_name){
if (!this_result) return;
var _args = arg[i] != undefined ? arg[i] : false;
this_result = that.funcs[func_name.trim()](input.val(), _args);
});

// this_result = that.funcs[func](input.val(), arg);

if (!this_result) {
if (typeof o.onErrorInput === 'function') {
o.onErrorInput(input);
Expand Down

0 comments on commit cac2bff

Please sign in to comment.