forked from MapComplete/MapComplete
Add feedback to wikidata-input, fix #1650
This commit is contained in:
parent
4e1f439127
commit
db92a600d5
2 changed files with 17 additions and 2 deletions
|
@ -785,7 +785,9 @@
|
||||||
"feedback": "This is not a valid web address"
|
"feedback": "This is not a valid web address"
|
||||||
},
|
},
|
||||||
"wikidata": {
|
"wikidata": {
|
||||||
"description": "A Wikidata identifier"
|
"description": "A Wikidata identifier",
|
||||||
|
"empty": "Please, enter some wikidata-entries",
|
||||||
|
"startsWithQ": "A wikidata identifier starts with Q and is followed by a number"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,8 @@ import Combine from "../../Base/Combine"
|
||||||
import Wikidata from "../../../Logic/Web/Wikidata"
|
import Wikidata from "../../../Logic/Web/Wikidata"
|
||||||
import WikidataSearchBox from "../../Wikipedia/WikidataSearchBox"
|
import WikidataSearchBox from "../../Wikipedia/WikidataSearchBox"
|
||||||
import { Validator } from "../Validator"
|
import { Validator } from "../Validator"
|
||||||
|
import { Translation } from "../../i18n/Translation"
|
||||||
|
import Translations from "../../i18n/Translations"
|
||||||
|
|
||||||
export default class WikidataValidator extends Validator {
|
export default class WikidataValidator extends Validator {
|
||||||
constructor() {
|
constructor() {
|
||||||
|
@ -12,12 +14,23 @@ export default class WikidataValidator extends Validator {
|
||||||
if (str === undefined) {
|
if (str === undefined) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if (str.length <= 2) {
|
if (str.length == 1) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return !str.split(";").some((str) => Wikidata.ExtractKey(str) === undefined)
|
return !str.split(";").some((str) => Wikidata.ExtractKey(str) === undefined)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getFeedback(s: string, _?: () => string): Translation | undefined {
|
||||||
|
const t = Translations.t.validation.wikidata
|
||||||
|
if (s === "") {
|
||||||
|
return t.empty
|
||||||
|
}
|
||||||
|
if (!s.match(/(Q[0-9]+)(;Q[0-9]+)*/)) {
|
||||||
|
return t.startsWithQ
|
||||||
|
}
|
||||||
|
return undefined
|
||||||
|
}
|
||||||
|
|
||||||
public reformat(str) {
|
public reformat(str) {
|
||||||
if (str === undefined) {
|
if (str === undefined) {
|
||||||
return undefined
|
return undefined
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue