#sapui5
#sapui5
Вопрос:
Задача проста:
пользователь должен выбрать запись в группе переключателей, в противном случае проверка завершится неудачей.
Чтобы быть приятным для пользователя, я также хотел бы перейти к этой RadioButtonGroup, когда ее проверка завершается неудачей, поскольку она находится дальше и может отсутствовать в поле зрения (как в моем примере, приведенном ниже).
Реализация не так проста для меня, потому что RadioButtonGroup не обладает свойством required
.
Вот мой пример кода — RadioButtonGroup находится в файле SomeView.view.xml
в строке 420…
Я пока ничего не пробовал, потому что понятия не имею, что попробовать.
Кто-нибудь знает, возможно ли это без ущерба для существующей реализации валидатора (которую я получил отсюда)?
Ответ №1:
Реализация не так проста для меня, потому что RadioButtonGroup не обладает требуемым свойством.
sap.m.Label
Требуется только свойство required="true"
. Не сам элемент управления sap.m.RadioButtonGroup
.
Элемент управления sap.m.RadioButtonGroup
имеет свойство, вызываемое selectedIndex
. В вашем фрагменте кода вы устанавливаете свойство selectedIndex="-1"
. Если пользователь выберет, sap.m.Radiobutton
selectedIndex
значение изменится на 0 .. 3. Давайте зафиксируем это с помощью sap.ui.model.type.Integer
.
// JSON dummy data
var oData = {
text : "Test",
userEmail : "i.am@groot.com",
number : 50,
date : "01.01.2021",
selectedIndex: -1
};
<Label text="Final answer?" required="true"/>
<RadioButtonGroup
id="answer"
columns="4"
selectedIndex="{ path: '/selectedIndex',
type: 'sap.ui.model.type.Integer',
constraints : {
minimum : 0,
maximum : 3
}}">
<RadioButton id="A1" text="A"/>
<RadioButton id="B1" text="B"/>
<RadioButton id="C1" text="C"/>
<RadioButton id="D1" text="D"/>
</RadioButtonGroup>
Validator.js
Проверяет только следующие свойства
aValidateProperties = ["value", "selectedKey", "text"]
итак, мы добавляем свойство selectedIndex
aValidateProperties = ["value", "selectedKey", "text", "selectedIndex"]
Проверка теперь работает! Пример кода
Чтобы быть приятным для пользователя, я также хотел бы перейти к этой RadioButtonGroup, когда ее проверка завершается неудачей, поскольку она находится дальше и может отсутствовать в поле зрения (как в моем примере, приведенном ниже).
Комментарии:
1. это лучший ответ, который я видел за последнее время, хорошо объясненный и даже с полностью рабочими примерами, большое вам спасибо! Сначала у меня не получилось, потому что я случайно установил
selectedIndex
в строку в своем файле json —"selectedIndex":"-1"
— но после исправления это сработало.