ValidateTagInput checks all tag adds and removals on a post edit. For tag adds it validates that no new tags are being created via mistaggings or mispellings. For tag removes it checks the implication hierarchy to validate that no existing tags will readd that tag once it is removed.
Installation
- Chrome/Firefox: Install Tampermonkey
Project page
Main script
Usage notes
There are two buttons: Submit and Check. Both will perform tag validation, but only submit will go on to submit the tags.
If one of the validations fail, it presents an error notice. For tag adds, it lists all of the new tags that will be created. For tag removes, it lists all of the hierarchy relationships that will cause a tag removal to be readded.
Additionally, it will display a Skip Validation checkbox below the Submit button. Selecting this will cause the userscript to ignore any validation failures and submit the tag changes as is.
One way to cause the tag validator to ignore a particular tag, especially if it is intentional, is to preface it with the metatag for its character type (example: general:this_is_a_new_tag
).
Final
Any suggestions or feedback is appreciated.
Latest edits
- (2022-09-04) Updated script link in OP
Versions
Show
- (2017-09-24)
- Version 2 - Initial release
- Version 3 - Removed tagtype tags as a consideration for tag add validation <kittey: forum #136421>
- (2017-09-25)
- Version 4 - Added support for uploads page
- Version 5 - Added remove tag validator
- (2017-09-26)
- Version 6
- Added alias check to add tag validator
- Normalize tags to lowercase <nonamethanks: forum #136522>
- Version 7
- Fixed a bug in data model, causing the submit process to hang
- Restyled the warning messages
- Saves all alias results regardless if an alias is found or not
- (2017-09-27)
- Version 8 - Rebound return key to use tag validator
- (2017-09-28)
- Version 9 - Fixed bug with final tag list calculation <nonamethanks: forum #136678>
- (2017-09-29)
- Version 10 - Negative tags can now be used to fix a prior mistake <nonamethanks: forum #136752>
- Version 11 - Fixed bug with uploads page involving pre-edit tags <nonamethanks: Discord>
- (2017-09-30)
- Version 12 - Fixed timing bug with script <Unbreakable: forum #136728>
- (2017-10-08)
- Version 13 - Added check rating exists validator
- (2017-10-10)
- Version 14 - Changed data model and added data model validator
- (2017-10-13)
- Version 15 - Added tag validation to quick edit mode
- (2017-10-16)
- Version 16 - Added reset cached data link to user settings
- (2017-10-21)
- Version 17 - Migrated to IndexedDB for data storage
- Uses Session Storage to mitigate DB penalty
- Local Storage is used as a fallback for IndexedDB
- It now gets pruned when it reaches a certain size
- Fixed issue with quoted source metatag
- (2017-10-22)
- Version 18 - Made debug info conditional
- Bug fix with pruning function
- (2017-11-13)
- Version 19 - Accounted for new Meta tag category (ref topic #14678)
- (2017-11-18)
- Version 20
- Bug fix with data model check
- Rating validator now checks for the rating in the tag box
- (2017-11-19)
- Version 21 - Bug fix on post index page for Member/Anonymous <evazion: Discord>
- (2017-11-21)
- Version 22 - Removed rating exists validator (issue #3362)
- (2018-01-13)
- Version 23 - Full validation of client data
- (2018-06-04)
- Version 24
- Updated to use library
- Major code refactor
- Add a button that just checks instead of submitting
- (2018-09-04)
- Version 25 Add settings menu
- (2019-01-29)
- Version 26
- Added additional validators (artist, copyright, general)
- Added cache editor to menu
- (2019-02-13)
- Version 27 Updated to newest library
- (2019-12-26)
- Version 28 Updated library version
- (2022-02-19)
- Version 29 Updated library version
- Added approval submit check (contributors only)
Updated