jQuery Form Wizard a Nefunkčné addRule, setReaquired
- SontoEremo
- Člen | 341
Zdravim …
Vopred sa ospravedlňujem za hlúpo pomenovanú tému no som hore už pomaly
27hod. a na konci svojich síl…
pokiaľ moderátorm názov nevyhovuje prosím o jeho zmenu :)
Ale teraz k veci…
Mám na stránke registračný formulár jednej šablóny jedná sa o jQuery
Form Wizard Demo TU
problém je, že som v presenteri vytvoril napr.
$form->addText('username', 'Užívateľ')
->setAttribute('class', 'span6 m-wrap')
->setRequired('Zadajte prosím užívateľské meno')
->addRule(Form::FILLED, 'musíte vyplniť toto poľe')
->addRule(Form::MIN_LENGTH, 'Užívateľské meno musí obsahovať min. %d znaky', 4)
->addRule(Form::MAX_LENGTH, 'Maximálny počet znakov je %d', 64);
Lenže ak nechám políčko prázdne a prejdem na krok
2 tak ma to neupozorní na to, že je políčko prázdne ale proste
len prejde na druhý krok.
V jQuery sa nevyznám a nechcem moc doň zasahovať preto sa radšej
z posledných síl pýtam tu kompetentných ako docieliť to aby ma to ďalej
nepustilo pokiaľ nebude prvý tab vo formuláry vyplnený ?
pripájam ešte presenter
<?php
namespace mainModule;
use Nette\Application\UI\Form;
use Nette\Utils\Html;
class SignPresenter extends \BasePresenter
{
/** @persistent */
public $backlink = '';
protected function createComponentUserRegisterForm()
{
$form = new Form;
$form->addText('username', 'Užívateľ')
->setAttribute('class', 'span6 m-wrap')
->setRequired('Zadajte prosím užívateľské meno')
->addRule(Form::FILLED, 'musíte vyplniť toto poľe')
->addRule(Form::MIN_LENGTH, 'Užívateľské meno musí obsahovať min. %d znaky', 4)
->addRule(Form::MAX_LENGTH, 'Maximálny počet znakov je %d', 64);
$form->addPassword('password', 'Heslo')
->setAttribute('class', 'span6 m-wrap')
->setRequired('Zadajte prosím heslo')
->addRule(Form::MIN_LENGTH, 'heslo musí obsahovať min. %d znaky', 4)
->addRule(Form::MAX_LENGTH, 'Maximálny počet znakov je %d', 64);
$form->addPassword('repassword', 'Potvrďte heslo')
->setAttribute('class', 'span6 m-wrap')
->addConditionOn($form['password'], Form::VALID)
->addRule(Form::FILLED, 'Prosím opakujte heslo')
->addRule(Form::EQUAL, 'Heslá sa neshodujú.', $form['password']);
$form->addText('fullname', 'Meno a Priezvisko')
->setAttribute('class', 'span6 m-wrap');
$form->addText('email', 'Emailová adresa')
->setEmptyValue('@')
->setAttribute('class', 'span6 m-wrap');
$form->addText('phone', 'telefonné číslo')
->setAttribute('class', 'span6 m-wrap')
->addRule(Form::INTEGER, 'telefonné číslo môže obsahovať iba číslice 0-9');
$genders = $this->genderProfile();
$form->addRadioList('gender', 'Pohlavie', $genders)
->setDefaultValue('man', TRUE)
->getSeparatorPrototype()->setName(NULL);
$form->addText('adress', 'Adresa')
->setAttribute('class', 'span6 m-wrap');
$form->addText('city', 'Mesto')
->setAttribute('class', 'span6 m-wrap');
$form->addText('zip', 'PSČ')
->setAttribute('class', 'span6 m-wrap');
$countrys = $this->countryProfile();
$form->addSelect('country', 'Štát', $countrys)
->setAttribute('class', 'span6 m-wrap');
$form->addCheckBox('agree', Html::el('font')
->setHtml('Potvrdzuje a Súhlasím s <a n:href="">podmienkami</a>'))
->setDefaultValue(TRUE);
$form->addButton('back', 'Späť')
->setAttribute('onclick', 'javascript:;');
$form->addButton('continue', 'Pokračovať')
->setAttribute('onclick', 'javascript:;');
$form->addSubmit('register_me', 'Registrovať');
$form->onSuccess[] = callback($this, 'UserRegisterSuccessSubmitted');
return $form;
}
public function UserRegisterSuccessSubmitted()
{
}
}
**No a nakoniec odkazy na jQuery scripty na mojom Webe**
jquery.bootstrap.wizard.js
jquery.bootstrap.wizard.min.js
prettify.js
bootstrap.js
bootstrap.min.js
- SontoEremo
- Člen | 341
Ešte môj View up.latte
{block maintitle}Register{/block}
{block maincontent}
<div class="row-fluid">
<div class="span12">
<div class="portlet box blue" id="form_wizard_1">
<div class="portlet-title">
<h4>
<i class="icon-reorder"></i> Registrácia - <span class="step-title">Krok 1/3</span>
</h4>
<div class="tools hidden-phone">
<a href="javascript:;" class="collapse"></a>
<a href="javascript:;" class="reload"></a>
<a href="javascript:;" class="remove"></a>
</div>
</div>
<div class="portlet-body form">
{form userRegisterForm class=>"form-horizontal"}
{control $form errors}
<div class="form-wizard">
<div class="navbar steps">
<div class="navbar-inner">
<ul class="row-fluid">
<li class="span3">
<a href="#tab1" data-toggle="tab" class="step active">
<span class="number">1</span>
<span class="desc"><i class="icon-ok"></i> Vytvorenie účtu</span>
</a>
</li>
<li class="span3">
<a href="#tab2" data-toggle="tab" class="step">
<span class="number">2</span>
<span class="desc"><i class="icon-ok"></i> Vytvorenie profilu</span>
</a>
</li>
<li class="span3">
<a href="#tab3" data-toggle="tab" class="step">
<span class="number">3</span>
<span class="desc"><i class="icon-ok"></i> Potvrdenie</span>
</a>
</li>
</ul>
</div>
</div>
<div id="bar" class="progress progress-success progress-striped">
<div class="bar"></div>
</div>
<div class="tab-content">
<div class="tab-pane active" id="tab1">
<h3 class="block">Zadajte údaje pre prihlasovanie</h3>
<div class="control-group">
{label username class=>"control-label"/}
<div class="controls">
{input username}
<span class="help-inline">Vytvorte si užívateľské meno</span>
</div>
</div>
<div class="control-group">
{label password class=>"control-label"/}
<div class="controls">
{input password}
<span class="help-inline">min. 4 znaky - max. 64 znakov</span>
</div>
</div>
<div class="control-group">
{label repassword class=>"control-label"/}
<div class="controls">
{input repassword}
<span class="help-inline">Zadajte rovnáke heslo pre kontrolu</span>
</div>
</div>
</div>
<div class="tab-pane" id="tab2">
<h3 class="block">Zadajte prosím vaše fakturačné údaje</h3>
<div class="control-group">
{label fullname class=>"control-label"/}
<div class="controls">
{input fullname}
<span class="help-inline">Zadajte vaše celé meno</span>
</div>
</div>
<div class="control-group">
{label email class=>"control-label"/}
<div class="controls">
{input email}
<span class="help-inline">Zadajte vašu emailovú adresu</span>
</div>
</div>
<div class="control-group">
{label phone class=>"control-label"/}
<div class="controls">
{input phone}
<span class="help-inline">Zadajte vaše telefonné číslo</span>
</div>
</div>
<div class="control-group">
{label gender class=>"control-label"/}
<div class="controls">
<label class="radio">
{input gender}
</label>
</div>
</div>
<div class="control-group">
{label adress class=>"control-label"/}
<div class="controls">
{input adress}
<span class="help-inline">Zadajte adresu vašho bydliska</span>
</div>
</div>
<div class="control-group">
{label city class=>"control-label"/}
<div class="controls">
{input city}
<span class="help-inline">Zadajte vaše mesto</span>
</div>
</div>
<div class="control-group">
{label zip class=>"control-label"/}
<div class="controls">
{input zip}
<span class="help-inline">Zadajte vaše PSČ</span>
</div>
</div>
<div class="control-group">
{label country class=>"control-label"/}
<div class="controls">
{input country}
<span class="help-inline">Vyberte si krajinu v ktoréj žijete</span>
</div>
</div>
</div>
</div>
<div class="form-actions clearfix">
{input back class=>"btn button-previous"}
{input continue class=>"btn blue button-next"}
{input register_me class=>"btn green button-submit"}
</div>
</div>
{/form}
</div>
</div>
</div>
</div>
{/block}