服务端通常会对用户输入的数据进行校验,尤其是在输入框中输入关键字段(如用户名、密码、手机号、邮箱等),通常会设置一系列规则,比如:
当校验失败时,系统通常会以Toast等方式提示用户具体错误原因,以帮助用户修正输入。
根据日志信息可知,服务端校验不符合要求返回报错信息。
ThrowError errCode:200099742 errMsg: "存在特殊字符,请修改"
问题出现在字段校验失败时的提示信息中,错误码和提示内容被一起展示。
// 示例:字符串处理
let errorMsg = '错误码:200099742,存在特殊字符,请修改!';
// 输出:"存在特殊字符,请修改!"
let friendlyMsg = errorMsg.split(',')[1] + ',' + errorMsg.split(',')[2]; 或者使用正则表达式提取提示内容:
friendlyMsg = errorMsg.replace(/^.*?,/, '');
完整的示例参考:
@Entry
@Component
struct TitpsDemo {
@State message: string = 'Hello World';
build() {
RelativeContainer() {
Text(this.message)
.id('HelloWorld')
.fontSize($r('app.float.page_text_font_size'))
.fontWeight(FontWeight.Bold)
.alignRules({
center: { anchor: '__container__', align: VerticalAlign.Center },
middle: { anchor: '__container__', align: HorizontalAlign.Center }
})
.onClick(() => {
this.message = 'Welcome';
// 示例:字符串处理
let errorMsg = '错误码:200099742,存在特殊字符,请修改!';
// 输出:"存在特殊字符,请修改!"
let friendlyMsg = errorMsg.split(',')[1] + ',' + errorMsg.split(',')[2];
this.message = friendlyMsg;
friendlyMsg = errorMsg.replace(/^.*?,/, '');
this.message = friendlyMsg;
})
}
.height('100%')
.width('100%')
}
}