PDA

Просмотр полной версии : errorTip


zigfridus
28.11.2011, 18:03
Добрый день

Пытаюсь изменить вид сообщений об ошибке при валидации.
Но никаких видимых изменений не происходит.
Подскажите, где я не прав?


<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:local="*"
width="100%" height="100%"
>

<fx:Style>
.errorTip {
borderColor: #0000FF;
paddingTop: 0;
paddingBottom: 0;
paddingLeft: 4;
paddingRight: 4;
fontWeight: bold;
fontSize: 9px;
backgroundColor: #0000ff;
cornerRadius: 8;
}
</fx:Style>

alatar
28.11.2011, 18:37
Этот код работает.
Подскажите, где я не прав?
В другом месте кода.

zigfridus
28.11.2011, 19:14
Этот код работает.

В другом месте кода.

Так я больше ничего другого в код не добавляю.
Была мысль, что, возможно, тема приложения не позволяет изменить вид сообщений, но ничего связанного с этим в коде не нашел. Тема приложения Spark, которая по-умолчанию.

alatar
28.11.2011, 19:17
Хорошо, я выдохну и спрошу иначе. Что находится ниже закрывающего тега </fx:Style>?

zigfridus
28.11.2011, 20:29
Просто не хотел все показывать, дабы не замусоривать.

index.mxml

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:local="*"
width="100%" height="100%">

<fx:Style>
@namespace mx "library://ns.adobe.com/flex/mx";
@namespace s "library://ns.adobe.com/flex/spark";
s|*
{
font-Family:Verdana;
font-size:11;
}
.errorTip {
borderColor: #0000FF;
paddingTop: 0;
paddingBottom: 0;
paddingLeft: 4;
paddingRight: 4;
fontWeight: bold;
fontSize: 9px;
backgroundColor: #0000ff;
cornerRadius: 8;
}
</fx:Style>

<fx:Script>
<![CDATA[
//Константы приложения
public static const srvUrl:String = "http://localhost/test";
public static const progVers:String = "v.2.0";

]]>
</fx:Script>


<s:HGroup horizontalAlign="right" width="100%">
<s:Label paddingTop="6" text="{progVers}"/>
</s:HGroup>

<mx:TabNavigator id="tabs" width="100%" height="100%" y="20">
<local:t1 width="100%" height="100%" label="Tab1"/>
<local:t2 width="100%" height="100%" label="Tab2"/>
</mx:TabNavigator>

</s:Application>


t1.mxml Частично все-таки урезал, т.к. слишком много кода. Самое основное отобразил. Надеюсь для диагностики этого достаточно.

<?xml version="1.0" encoding="utf-8"?>
<s:NavigatorContent xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:cookbook="cookbook.*"
minWidth="1200" minHeight="850">

<fx:Declarations>
<mx:DateValidator id="fieldInsertValidator" property="text" source="{fieldInsert}" inputFormat="YYYY-MM-DD" required="true"/>
</fx:Declarations>

<s:Form>
<s:FormItem><mx:DateField id="fieldInsert" formatString="YYYY-MM-DD" yearNavigationEnabled="true" editable="true"/></s:FormItem>
<s:FormItem label=""><s:Button id="insertButton" label="Add" /></s:FormItem>
</s:Form>

</s:NavigatorContent>

alatar
28.11.2011, 21:03
Создайте новый проект, скопируйте туда приведенный код и увидите, что error tip изменится. Единственный косяк в этом коде, это несуществующий селектор * в стилях, но на конечный результат (кроме предупреждения компилятора) он не влияет.

zigfridus
29.11.2011, 11:10
Спасибо. Сейчас поэкспериментирую :)

Добавлено через 1 час 3 минуты
Создайте новый проект, скопируйте туда приведенный код и увидите, что error tip изменится. Единственный косяк в этом коде, это несуществующий селектор * в стилях, но на конечный результат (кроме предупреждения компилятора) он не влияет.

Сделал, как вы посоветовали. Создал новый проект. Скопировал туда код. Упростил его максимально.

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">

<fx:Style>
.errorTip {
fontSize: 20px;
}
</fx:Style>

<fx:Declarations>
<mx:DateValidator id="fieldInsertValidator" property="text" source="{fieldInsert}" inputFormat="YYYY-MM-DD" required="true"/>
</fx:Declarations>

<s:Form>
<s:FormItem><mx:DateField id="fieldInsert" formatString="YYYY-MM-DD" yearNavigationEnabled="true" editable="true"/></s:FormItem>
<s:FormItem label=""><s:Button id="insertButton" label="Add" /></s:FormItem>
</s:Form>

</s:Application>


И, все равно, вид ошибки не меняется.
http://i31.***********/big/2011/1129/ab/a511c3606bcc01db6eabe10d150f64ab.jpg

alatar
29.11.2011, 13:04
Это сообщение часть spark.components.FormItem и не имеют отношения к error tip, которые по-умолчанию для него отключены. Вы можете включить отображение error tip установив для FormItem стиль showErrorTip="true".
Или воспользоваться mx.containers.FormItem.

zigfridus
29.11.2011, 17:54
Похоже я не то, что мне необходимо настраивал.
А возможно ли, настроить место расположения сообщения об ошибке, которое на моем рисунке? К примеру указать, чтобы оно появлялось не справа от поля, а снизу его?

alatar
29.11.2011, 18:04
Можно, но придется делать свой скин для FormItem.
http://help.adobe.com/ru_RU/flex/using/WSc5cd04c102ae3e973827a8e912ac2b325a4-8000.html

zigfridus
30.11.2011, 19:09
Спасибо. Попробую сделать скин :)