Your search did not match any results.
Form

Customize Item

You can use the items[] array to configure all form items. This array can contain strings (formData field names) and objects (item configurations).

Use a string to create a simple item with default configuration as shown for the Email item.

To change the default settings, declare an item configuration object. Use the dataField property to bind an item to a field in the formData object. Use the editorType property to specify an item's data editor or configure the editor in the editorOptions object. You can also specify any other properties described in the SimpleItem section.

This demo shows how to specify editorOptions, editorType, validationRules, and colSpan properties for simple items in a Form component.

Backend API
Copy to CodePen
Apply
Reset
window.onload = function() { var viewModel = { formOptions: { colCount: 2, formData: employee, items: [{ dataField: "FirstName", editorOptions: { disabled: true } }, { dataField: "Position", editorType: "dxSelectBox", editorOptions: { items: positions, searchEnabled: true, value: "" }, validationRules: [{ type: "required", message: "Position is required" }] }, { dataField: "LastName", editorOptions: { disabled: true } }, { dataField: "HireDate", editorType: "dxDateBox", editorOptions: { value: null, width: "100%" }, validationRules: [{ type: "required", message: "Hire date is required" }] }, { dataField: "BirthDate", editorType: "dxDateBox", editorOptions: { disabled: true, width: "100%" } }, "Address", { colSpan: 2, dataField: "Notes", editorType: "dxTextArea", editorOptions: { height: 90 } }, { dataField: "Phone", editorOptions: { mask: "+1 (X00) 000-0000", maskRules: {"X": /[02-9]/} } }, "Email"] } }; ko.applyBindings(viewModel, document.getElementById("form-container")); $("#form").dxForm("instance").validate(); };
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <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="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script>window.jQuery || document.write(decodeURIComponent('%3Cscript src="js/jquery.min.js"%3E%3C/script%3E'))</script> <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/21.1.6/css/dx.common.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/21.1.6/css/dx.light.css" /> <script src="https://cdn3.devexpress.com/jslib/21.1.6/js/dx.all.js"></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"> <div class="long-title"><h3>Employee Details</h3></div> <div id="form-container"> <div id="form" data-bind="dxForm: formOptions"></div> </div> </div> </body> </html>
#form-container { margin: 10px 10px 30px; } #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", "Email": "jheart@dx-email.com" }; var positions = [ "HR Manager", "IT Manager", "CEO", "Controller", "Sales Manager", "Support Manager", "Shipping Manager" ];