Add custom Isbn
struct and use it to auto-hyphenate and warn of parsing errors as user types (#125)
#262
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #125. A valid ISBN digit string in any format (with or without any number of hyphens/spaces in any positions) now automatically updates to the correctly-hyphenated version on entry in the ISBN field.
Follows the model of #249, using a
String
wrapper type based on theisbn2::Isbn13
type for ease (e.g. diesel derives) and consistency (withDoi
/Orcid
types). This includes the addition of a warning tooltip and prevention of save if the ISBN cannot be parsed.Note that database checks on ISBN validity were/are minimal (as hyphenation rules cannot be easily expressed), so this change represents an increase in strictness, making it no longer possible to save a malformed ISBN in the GUI (although they can still be manually added to the database).