Example: Manual form rendering and separated form and rules definition
- 1: <?php
- 3: /**
- 4: * Nette\Forms manual form rendering.
- 5: *
- 6: * - separated form and rules definition
- 7: * - manual form rendering
- 8: */
- 37: // Step 1: Define form
- 58: // Step 1b: Define validation rules
- 65: // conditional rule: if is email filled, ...
- 69: // another conditional rule: if is checkbox checked...
- 71: // toggle div #sendBox
- 89: // Step 2: Check if form was submitted?
- 92: // Step 2c: Check if form is valid
- 99: // this is the end, my friend :-)
- 101: }
- 104: // not submitted, define default values
- 112: }
- 116: // Step 3: Render form
- 117: ?>
- 118: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- 119: <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- 120: <head>
- 121: <meta http-equiv="content-type" content="text/html; charset=utf-8" />
- 122: <meta http-equiv="content-language" content="en" />
- 124: <title>Nette\Forms manual form rendering | Nette Framework</title>
- 126: <style type="text/css">
- 127: <!--
- 128: .required {
- 129: color: darkred
- 130: }
- 132: fieldset {
- 133: padding: .5em;
- 134: margin: .3em 0;
- 135: background: #EAF3FA;
- 136: border: 1px solid #b2d1eb;
- 137: }
- 139: input.button {
- 140: font-size: 120%;
- 141: }
- 143: th {
- 144: width: 8em;
- 145: text-align: right;
- 146: }
- 147: -->
- 148: </style>
- 149: </head>
- 151: <body>
- 152: <h1>Nette\Forms manual form rendering</h1>
- 157: <p>Opravte chyby:</p>
- 161: <fieldset>
- 162: <legend>Personal data</legend>
- 163: <table>
- 164: <tr class="required">
- 167: </tr>
- 168: <tr class="required">
- 171: </tr>
- 172: <tr>
- 175: </tr>
- 176: <tr>
- 179: </tr>
- 180: </table>
- 181: </fieldset>
- 184: <fieldset>
- 185: <legend>Shipping address</legend>
- 189: <table id="sendBox">
- 190: <tr>
- 193: </tr>
- 194: <tr class="required">
- 197: </tr>
- 198: <tr class="required">
- 201: </tr>
- 202: </table>
- 203: </fieldset>
- 207: <fieldset>
- 208: <legend>Your account</legend>
- 209: <table>
- 210: <tr class="required">
- 213: </tr>
- 214: <tr class="required">
- 217: </tr>
- 218: <tr>
- 221: </tr>
- 222: <tr>
- 225: </tr>
- 226: </table>
- 227: </fieldset>
- 229: <div>
- 232: </div>
- 235: </body>
- 236: </html>