parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Примеры

R. Averkov 04.11.2006 18:06 / 04.11.2006 18:08

Из формы приходит строка. Надо сделать ее числом.
^if(^form:n.int(0)){
	^if($form:n < 100){
		$n($form:n)
	}{
		$n(100)
		<p class="x-small">Больше, чем 100 фотографий,
		показать не получится. А $form:n &mdash^; это явно больше.</p>
	}
}{
	<p class="x-small">В поле ввода должно быть число.</p>
}
Можно переписать по-другому:
^if(^form:n.int(100) < 100){
	$n($form:n)
}{
	^if(^form:n.int(0)){
		<p class="x-small">Больше, чем 100 фотографий,
		показать не получится. А $form:n &mdash^; это явно больше.</p>
	}{
		<p class="x-small">В поле ввода должно быть число.</p>
	}
}
Учтите, что если $form:n = 0, то в вышеприведенных примерах это будет означать, что ввели не число. Поэтому, можно изменить это условие следующим образом:
# если вас не интересуют отрицательные значения
^if(^form:n.int(-1) < 0){В поле ввода должно быть число}
Еще один, более грамотный вариант:
^try{ 
   ^if($form:n < 100){
		$n($form:n)
	}{
		<p class="x-small">Больше, чем 100 фотографий,
		показать не получится. А $form:n &mdash^; это явно больше.</p>
	}
}{
	^if($exception.type eq "number.format"){
		$exception.handled(true)
		<p class="x-small">В поле ввода должно быть число.</p>
	}
}