Validate

</> Source
<!DOCTYPE html>
<html>
<head>
	<title>Validate</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
	<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
	<link rel="stylesheet" type="text/css" href="../../../codebase/fonts/font_roboto/roboto.css"/>
	<link rel="stylesheet" type="text/css" href="../../../codebase/dhtmlx.css"/>
	<script src="../../../codebase/dhtmlx.js"></script>
	<script>
		var myForm, formData;
		function doOnLoad() {
			formData = [
				{type: "settings", position: "label-left", labelWidth: 120, inputWidth: 160},
				{type: "label", label: "New project"},
				{type: "input", label: "Project Name", value: "New project", required: true, validate:"NotEmpty"},
				{type: "label", label: "Audio settings"},
				{type: "select", label: "Format", validate: "ValidTime", options:[
					{text: "AAC", value: "AAC"},
					{text: "AC3", value: "AC3", selected: true},
					{text: "MP3", value: "MP3"},
					{text: "FLAC", value: "FLAC"}
				]},
				{type: "select", label: "Bitrate", validate: "ValidTime", options:[
					{text: "128 kbps", value: "128"},
					{text: "160 kbps", value: "160"},
					{text: "256 kbps", value: "256"},
					{text: "320 kbps", value: "320", selected: true},
					{text: "448 kbps", value: "448"}
				]},
				{type: "select", label: "Channels", validate: "ValidTime", options:[
					{text: "2.0 Stereo", value: "2_0"},
					{text: "5.1 Dolby Digital", value: "5_1", selected: true}
				]},
				{type: "label", label: "Video settings"},
				{type: "select", name: "video_codec", label: "Codec", validate: "NotEmpty", options:[
					{text: "DivX", value: "DivX"},
					{text: "XviD", value: "XviD", selected: true}
				]},
				{type: "select", name: "video_bitrate", label: "Bitrate", validate: "ValidTime", options:[
					{text: "728 kbps", value: "728"},
					{text: "1226 kbps", value: "1226", selected: true},
					{text: "2412 kbps", value: "2412"}
				]},
				{type: "label", label: "Advanced"},
				{type: "input", label: "Command line options", rows: 2, value: "-vf crop=618:526:0:14,pp=lb"},
				{type: "label", label: "Backup Control"},
				{type: "checkbox", label: "Create local backup", position: "label-right", list:[
					{type: "input", label: "Path", value: "/home/nakamuro/backups/"}
				]},
				{type: "checkbox", label: "Copy backup to server", position: "label-right", list:[
					{type: "input", label: "Login", value: "nakamuro"},
					{type: "password", label: "Password", value: "123"}
				]},
				{type: "checkbox", label: "I agreed with Terms & Conditions", position: "label-right", labelWidth: "250", required: true, value: "1", validate: function(v){return v>0;}},
				{type: "block", inputWidth: "auto", list:[
					{type: "button", value: "Validate", name: "doFormValidate"},
					{type: "newcolumn"},
					{type: "button", value: "Clear", name: "resetValidateData"}
				]}
			];
			myForm = new dhtmlXForm("myForm", formData);
			myForm.attachEvent("onButtonClick", function(name){
				window[name]();
			});
		}
		function doFormValidate() {
			myForm.validate();
		}
		function resetValidateData() {
			myForm.resetValidateCss();
		}
	</script>
</head>
<body onload="doOnLoad();">
	<div id="myForm"></div>
</body>
</html>

Documentation

Check documentation to learn how to use the components and easily implement them in your applications.