Your search did not match any results.

Customize Item

The Form widget can create form items automatically for each field of the formData object. If you’d prefer to configure form items manually, pass the required array of configuration objects to the items option. You can specify the name of the bound data field, editor type, editor configuration, validation options (etc.) for each form item.
Copy to Codepen
var DemoApp = angular.module('DemoApp', ['dx']); DemoApp.controller('DemoController', function DemoController($scope) { $scope.formOptions = { colCount: 2, formData: employee, items: ["ID", { dataField: "FirstName", editorOptions: { disabled: true } }, { dataField: "LastName", editorOptions: { disabled: true } }, { dataField: "Position", editorType: "dxSelectBox", editorOptions: { items: positions, value: "" }, validationRules: [{ type: "required", message: "Position is required" }] }, { dataField: "BirthDate", editorType: "dxDateBox", editorOptions: { disabled: true } }, { dataField: "HireDate", editorType: "dxDateBox", editorOptions: { value: null }, validationRules: [{ type: "required", message: "Hire date is required" }] }, { colSpan: 2, dataField: "Notes", editorType: "dxTextArea", editorOptions: { height: 90 } }, "Address", { dataField: "Phone", editorOptions: { mask: "+1 (X00) 000-0000", maskRules: {"X": /[02-9]/} } } ] }; setTimeout( function() { $("#form").dxForm("instance").validate(); }, 200); });
<!DOCTYPE html> <html xmlns="" > <head> <title>DevExtreme Demo</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <script src="js/jquery-3.1.0.min.js"></script> <link rel="stylesheet" type="text/css" href="" /> <link rel="stylesheet" type="text/css" href="" /> <link rel="dx-theme" data-theme="generic.light" href="" /> <link rel="dx-theme" data-theme="android5.light" href="" /> <link rel="dx-theme" data-theme="ios7.default" href="" /> <link rel="dx-theme" data-theme="" href="" /> <link rel="dx-theme" data-theme="win10.white" href="" /> <script src=""></script> <script>window.angular || document.write(decodeURIComponent('%3Cscript src="js/angular.min.js"%3E%3C\/script%3E'))</script> <script src=""></script> <script src="data.js"></script> <link rel="stylesheet" type ="text/css" href ="styles.css" /> <script src="index.js"></script> </head> <body class="dx-viewport"> <div class="demo-container" ng-app="DemoApp" ng-controller="DemoController"> <div class="long-title"><h3>Employee Details</h3></div> <div id="form-container"> <div id="form" dx-form="formOptions"></div> </div> </div> </body> </html>
#form-container { margin: 10px; } #button { float: right; margin-top: 20px; } .long-title h3 { font-family: 'Segoe UI Light', 'Helvetica Neue Light', 'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana; font-weight: 200; font-size: 28px; text-align: center; margin-bottom: 20px; }
var employee = { "ID": 1, "FirstName": "John", "LastName": "Heart", "Position": "CEO", "BirthDate": "1964/03/16", "HireDate": "1995/01/15", "Notes": "John has been in the Audio/Video industry since 1990. He has led DevAv as its CEO since 2003.\r\n\r\nWhen not working hard as the CEO, John loves to golf and bowl. He once bowled a perfect game of 300.", "Address": "351 S Hill St., Los Angeles, CA", "Phone": "360-684-1334" }; var positions = [ "HR Manager", "IT Manager", "Controller", "Sales Manager", "Support Manager", "Shipping Manager" ];