Sharepoint - 自定义错误消息
Sharepoint - Custom error messages
我是工作项目的初级 Sharepoint 开发人员。
规格要求自定义错误消息。
当我创建一个带有数字字段的列表时,错误消息是 "Only numbers can go here".
<Field Name="Libelle" ID="{487dfca6-af3c-4939-94b1-2e5ae5aefb44}" DisplayName="Libelle" Type="Number" EnforceUniqueValues="TRUE" Indexed="TRUE" Required="TRUE" />
我可以更改吗?
像这样打开你的列表:-
https://site.sharepoint.com/Lists/List Title/NewForm.aspx?RootFolder=
注意:- 将 'List Title' 替换为您的列表标题
编辑此页面并添加 'Content Editor WebPart'(在 'Media and Content' 下)
在内容编辑器 Webpart 中粘贴此脚本:-
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript">
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
$(document).ready(function(){
$("input[title='Libelle']").blur(function(){
var txt = $("input[title='Libelle']").val();
if(!isNumber(txt)){
$("input[title='Libelle']").val("");
alert('Only numbers can go here');
}
});
});
</script>
SPField
的验证消息是 Microsoft.SharePoint
命名空间中名为 ValidationMessage
的字段上的 属性,或 SP
命名空间,如果您正在使用 SP.js
框架。
验证消息由 属性 控制,根据您在开发 SharePoint 时使用的模型而有所不同。
Field.ValidationMessage
在 Microsoft.SharePoint.Client
命名空间
SP.Field.validationMessage
在 SP.js
命名空间
SPField.ValidationMessage
在 Microsoft.SharePoint
命名空间
使用 C# 在 SPField
上设置验证消息
using (SPWeb web = site.OpenWeb())
{
//Get the list with your field
SPList list = web.Lists["Your list name here"];
//Get the field
SPField field = list["FieldName"];
field.ValidationMessage = "Your custom validation message.";
}
使用 JSOM 在 SP.Field
上设置验证消息
function setValidationMessage() {
var context = SP.ClientContext.get_current();
var web = context.get_web();
var list = web.get_lists().getByTitle("Your list title");
var field = list.get_fields().getByInternalNameOrTitle("Your field title or internal name");
field.set_validationMessage("Your new validation message");
field.update();
context.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
function onQuerySucceeded() {
console.log("Validation message successfully updated!");
}
function onQueryFailed(sender, args) {
console.log("Failed to update validation message!");
}
使用 Sharepoint REST api 在 SP.Field
上设置验证消息
$.ajax({
url: _spPageContextInfo.siteAbsoluteUrl + "/_api/web/lists(listid)/fields(fieldid)/validationMessage",
type: "POST",
data: JSON.stringify({
'__metadata': {
'type': 'SP.Field'
},
'validationMessage': 'Your custom validation message!'
}),
headers: {
"IF-MATCH": "*",
"X-HTTP-Method":"PATCH",
"accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
}
});
附加信息here。
您还可以在 SharePoint 站点的设置中设置验证消息,方法是转到站点设置中的列 select "Validation" 和 "Validation message".
我是工作项目的初级 Sharepoint 开发人员。 规格要求自定义错误消息。 当我创建一个带有数字字段的列表时,错误消息是 "Only numbers can go here".
<Field Name="Libelle" ID="{487dfca6-af3c-4939-94b1-2e5ae5aefb44}" DisplayName="Libelle" Type="Number" EnforceUniqueValues="TRUE" Indexed="TRUE" Required="TRUE" />
我可以更改吗?
像这样打开你的列表:-
https://site.sharepoint.com/Lists/List Title/NewForm.aspx?RootFolder=
注意:- 将 'List Title' 替换为您的列表标题
编辑此页面并添加 'Content Editor WebPart'(在 'Media and Content' 下) 在内容编辑器 Webpart 中粘贴此脚本:-
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript">
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
$(document).ready(function(){
$("input[title='Libelle']").blur(function(){
var txt = $("input[title='Libelle']").val();
if(!isNumber(txt)){
$("input[title='Libelle']").val("");
alert('Only numbers can go here');
}
});
});
</script>
SPField
的验证消息是 Microsoft.SharePoint
命名空间中名为 ValidationMessage
的字段上的 属性,或 SP
命名空间,如果您正在使用 SP.js
框架。
验证消息由 属性 控制,根据您在开发 SharePoint 时使用的模型而有所不同。
Field.ValidationMessage
在Microsoft.SharePoint.Client
命名空间SP.Field.validationMessage
在SP.js
命名空间SPField.ValidationMessage
在Microsoft.SharePoint
命名空间
使用 C# 在 SPField
using (SPWeb web = site.OpenWeb())
{
//Get the list with your field
SPList list = web.Lists["Your list name here"];
//Get the field
SPField field = list["FieldName"];
field.ValidationMessage = "Your custom validation message.";
}
使用 JSOM 在 SP.Field
function setValidationMessage() {
var context = SP.ClientContext.get_current();
var web = context.get_web();
var list = web.get_lists().getByTitle("Your list title");
var field = list.get_fields().getByInternalNameOrTitle("Your field title or internal name");
field.set_validationMessage("Your new validation message");
field.update();
context.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
function onQuerySucceeded() {
console.log("Validation message successfully updated!");
}
function onQueryFailed(sender, args) {
console.log("Failed to update validation message!");
}
使用 Sharepoint REST api 在 SP.Field
$.ajax({
url: _spPageContextInfo.siteAbsoluteUrl + "/_api/web/lists(listid)/fields(fieldid)/validationMessage",
type: "POST",
data: JSON.stringify({
'__metadata': {
'type': 'SP.Field'
},
'validationMessage': 'Your custom validation message!'
}),
headers: {
"IF-MATCH": "*",
"X-HTTP-Method":"PATCH",
"accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
}
});
附加信息here。
您还可以在 SharePoint 站点的设置中设置验证消息,方法是转到站点设置中的列 select "Validation" 和 "Validation message".