#sapui5
Вопрос:
Для поля ввода с ограничениями minLength: 2
и maxLength: 10
символами, если вы введете 11 символов, вы получите статическое сообщение об ошибке, что это «Недопустимая запись».
В следующем Input
поле:
<Input value="{
path: 'modelExample>/Example1',
type: 'sap.ui.model.type.String',
constraints: {
minLength: 2,
maxLength: 10
}
}"/>
Как изменить поле ввода, чтобы сообщение об ошибке было изменено на: «Ваш ввод может содержать только от 2 до максимум 10 символов»?
Ответ №1:
Где-то вы должны устанавливать значение Error
вручную, а не позволять фреймворку автоматически генерировать сообщение.
Здесь вы можете видеть, что сообщение отображается правильно в зависимости от входного значения:
sap.ui.require([
"sap/ui/core/Core"
], Core => Core.attachInit(() => sap.ui.require([
"sap/ui/core/mvc/XMLView",
], async (XMLView) => {
"use strict";
const control = await XMLView.create({
definition: `<mvc:View xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m"
xmlns:core="sap.ui.core"
core:require="{ ThatTypeString: 'sap/ui/model/type/String' }">
<App>
<Page showHeader="false" class="sapUiResponsiveContentPadding">
<Input width="17rem" value="{
value: '1234567890',
type: 'ThatTypeString',
constraints: {
minLength: 2,
maxLength: 10
}
}"/>
</Page>
</App>
</mvc:View>`,
height: "100%",
});
Core.getMessageManager().registerObject(control, true);
control.placeAt("content");
})));
<script id="sap-ui-bootstrap"
src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js"
data-sap-ui-libs="sap.ui.core,sap.m"
data-sap-ui-theme="sap_fiori_3"
data-sap-ui-async="true"
data-sap-ui-compatversion="edge"
data-sap-ui-excludejquerycompat="true"
data-sap-ui-xx-waitfortheme="init"
></script>
<body id="content" class="sapUiBody sapUiSizeCompact"></body>
См. раздел «Сообщения о проверке документации»в разделе» Автоматически создаваемые сообщения». В большинстве случаев достаточно установить "handleValidation": true
значение "sap.ui5"
в manifest.json
файле.
Вместо того, чтобы устанавливать значение вручную, убедитесь, что платформа устанавливает сообщение автоматически.